解题思路:
first , a^3 = b^3 + c^3 + d^3 (且 1< a,b,c,d <= 输入的正整数N),并且由此可以推断出(b,c,d的范围一定是大于1而小a的)
second,输出的要求为从小到大(b < =c < = d )的由此在查找满足关系式的同时考虑(b,c,d)的顺序third ,先考虑a的取值范围为(2 < a <=N)b的范围为(2 <= b < a),c,d的范围为( b < = c,d < a),根据这些分析可以用四个for(.....){.....}来进行查找
代码如下
#include<stdio.h>int main(){
int N,a,b,c,d;
scanf("%d",&N);
for(a=2;a<=N;a++)
{
for(b=2;b<=a;b++)
{
for(c=b;c<=a;c++)
{
for(d=c;d<=a;d++)
{
if(a*a*a==b*b*b+c*c*c+d*d*d)
printf("Cube = %d, Triple = (%d,%d,%d)\n",a,b,c,d);
}
}
}
}
return 0;}