我想編寫一個算法來驗證它的較小值:
#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";
}
而且這是一塊輸出的畫面:
這怎麼可能呢?我是否錯過了C++編程中的「大整數」,可能會得到錯誤的結果?
你知道在http://math.stackexchange.com數學論壇的? –
我認爲你想收集經驗證據直到ℤ中的某些n,而不是證明。 @MarcAudet我認爲如果我們拋棄整個證明業務,這仍然是一個溢出問題。 –
@MarcAudet任何包含代碼的問題通常都是[math.se]的主題。 – Dukeling