别人的更简洁。找到规律才是正解。
#include <iostream>
using namespace std;
int main()
{
for(int a = 6;a <= 200;a++)
{
int b1[10] = {0},c1[10] = {0},d1[10] = {0},time = 0;
for(int b = 2;b <= a;b++)
for(int c = 2;c <= a;c++)
for(int d = 2;d <= a;d++)
if(a*a*a == b*b*b + c*c*c + d*d*d)
{
for(int m = 0;m<=time;m++)
{
if(b == b1[m] && c == c1[m] || b == b1[m] && d == c1[m]
|| c == b1[m] && b == c1[m] || c == b1[m] && d == c1[m]
|| d == b1[m] && b == c1[m] || d == b1[m] && c == c1[m] )
break;
if(m == time - 1 || time == 0)
{
b1[time] = b;
c1[time] = c;
d1[time] = d;
time ++;
cout << "Cube = " << a << ", Triple = (" << b << ',' << c << ',' << d << ')' << endl;
}
}
}
}
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d;
for(a=6;a<=200;a++)
for(b=2;b<=200;b++)
for(c=b;c<=200;c++)
for(d=c;d<=200;d++)
if(a*a*a==b*b*b+c*c*c+d*d*d)
cout<<"Cube = "<<a<<", Triple = ("<<b<<","<<c<<","<<d<<")"<<endl;
return 0;
}