您的位置:首页 > 其它

完美立方

2016-05-28 10:25 183 查看




解题思路:

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;}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: