Tôi lấy định nghĩa this Định lý cuối cùng của Fermat.Thuật toán lý thuyết cuối cùng của Fermat
Tôi cố gắng để mã hóa một thuật toán để xác nhận nó cho giá trị nhỏ:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
//a^n + b^n = c^n
int a, b, c, n, count = 0;
for (n = 3; n < 1000; n++)
for (a = 1; a < 1000; a++)
for (b = 1; b < 100; b++)
for (c = 1; c < 1000; c++)
{
if (a != b && b != c && a != c)
{
if (pow(a,n) + pow(b,n) == pow(c,n))
{
cout << "\na: " << a << " b: " << b << " c: " << c << " n: " << n;
count++;
}
}
}
cout << count << " combinazioni";
}
Và đây là một màn hình của một mảnh đầu ra:
Làm thế nào là nó có thể? Tôi có thiếu một cái gì đó về "số nguyên lớn" trong lập trình C++ có thể có được một kết quả sai?
Bạn có biết diễn đàn Toán học tại http://math.stackexchange.com? –
Tôi nghĩ rằng bạn muốn thu thập bằng chứng thực nghiệm tối đa một số n trong ℤ, thay vì chứng minh. @MarcAudet Tôi nghĩ rằng đây vẫn là một câu hỏi tràn nếu chúng ta đổ toàn bộ kinh doanh chứng minh. –
@MarcAudet Bất kỳ câu hỏi nào có chứa mã thường không nằm trong chủ đề cho [math.se]. – Dukeling