/*=====================================
完美立方
总时间限制: 1000ms 内存限制: 65536kB
描述
a的立方 = b的立方 + c的立方 + d的立方为完美立方等式。例如12的立方 = 6的立方 + 8的立方 + 10的立方 。编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得a的立方 = b的立方 + c的立方 + d的立方,其中a,b,c,d 大于 1, 小于等于N。
输入
正整数N (N≤100)
输出
每行输出一个完美立方,按照a的值,从小到大依次输出。当两个完美立方等式中a的值相同,则依次按照b、c、d进行非降升序排列输出,即b值小的先输出、然后c值小的先输出、然后d值小的先输出。
样例输入
24
样例输出
Cube = 6, Triple = (3,4,5)
Cube = 12, Triple = (6,8,10)
Cube = 18, Triple = (2,12,16)
Cube = 18, Triple = (9,12,15)
Cube = 19, Triple = (3,10,18)
Cube = 20, Triple = (7,14,17)
Cube = 24, Triple = (12,16,20) 解析:
4层for循环可以做,枚举法
a的循环范围从2到N
b的循环范围也是从2到N
c的循环范围从b开始到N
d的循环范围从c开始到N 输出结果要注意严格按照输入输出案例里面的空格设置方式来设置。
======================================*/
 #include<stdio.h>
int main()
{
int a,b,c,d,N;
int a3,b3,c3,d3;
scanf("%d",&N);
for(a=;a<=N;a++)
{
a3=a*a*a;
for(b=;b<=N;b++)
{
b3=b*b*b;
if(a3<b3) break;
for(c=b;c<=N;c++)
{
c3=c*c*c;
if(a3<b3+c3) break;
for(d=c;d<=N;d++)
{
d3=d*d*d;
if(a3==b3+c3+d3)
{
printf("Cube = %d, Triple = (%d,%d,%d)\n",a,b,c,d);
}
}
}
}
}
return ;
}

看看下面的三重for循环的代码:

 #include<stdio.h>
#include<math.h>
int main(int argc, char *argv[])
{
int a,b,c,d,n,t;
scanf("%d",&n);
for(a=;a<=n;a++)
{
for(b=;b<=n;b++)
{
for(c=b;c<=n;c++)
{
t=a*a*a-b*b*b-c*c*c;
d=(int)(pow(t,1.0/)+0.5);
if(d*d*d==t&&d>c&&d<=n)
{
printf("Cube = %d, Triple = (%d,%d,%d)\n",a,b,c,d);
}
}
}
}
return ;
}

注意题目要求的输出顺序比较特殊,所以下面这段代码是错误的:

 #include<stdio.h>
#include<math.h>
int main(int argc, char *argv[])
{
int a,b,c,d,n,a3;
scanf("%d",&n);
for(b=;b<=n;b++)
{
for(c=b;c<=n;c++)
{
for(d=c;d<=n;d++)
{
a3=b*b*b+c*c*c+d*d*d;
a=pow(a3,1.0/)+0.5;
if(a*a*a==a3&&a>&&a<=n)
{
printf("Cube = %d, Triple = (%d,%d,%d)\n",a,b,c,d);
}
}
}
}
return ;
}

错误的代码

运行结果:

Cube = , Triple = (,,)
Cube = , Triple = (,,)
Cube = , Triple = (,,)
Cube = , Triple = (,,)
Cube = , Triple = (,,)
Cube = , Triple = (,,)
Cube = , Triple = (,,)
请按任意键继续. . .

OpenJudge计算概论-完美立方【暂时就想到了枚举法了】的更多相关文章

  1. OpenJudge计算概论-取石子游戏

    OpenJudge计算概论-取石子游戏[函数递归练习] /*====================================================================== ...

  2. Openjudge计算概论——数组逆序重放【递归练习】

    /*===================================== 数组逆序重放 总时间限制:1000ms 内存限制:65536kB 描述 将一个数组中的值按逆序重新存放. 例如,原来的顺 ...

  3. OpenJudge计算概论-计算书费

    /*============================================== 计算书费 总时间限制: 1000ms 内存限制: 65536kB 描述 下面是一个图书的单价表: 计算 ...

  4. OpenJudge计算概论-最高的分数

    /*======================================================== 最高的分数 总时间限制: 1000ms 内存限制: 65536kB 描述 孙老师 ...

  5. OpenJudge计算概论-比饭量【枚举法、信息数字化】

    /*====================================================================== 比饭量 总时间限制: 1000ms 内存限制: 655 ...

  6. OpenJudge 2810(1543) 完美立方 / Poj 1543 Perfect Cubes

    1.链接地址: http://bailian.openjudge.cn/practice/2810/ http://bailian.openjudge.cn/practice/1543/ http:/ ...

  7. Openjudge计算概论-角谷猜想

    /*===================================== 角谷猜想 总时间限制: 1000ms 内存限制: 65536kB 描述 所谓角谷猜想,是指对于任意一个正整数,如果是奇数 ...

  8. OpenJudge计算概论-字符串最大跨距

    /*====================================================================== 字符串最大跨距 总时间限制: 1000ms 内存限制: ...

  9. Openjudge计算概论-求序列中的众数

    /*===================================== 求序列中的众数 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个长度为N的整数序列 (不多于128 ...

随机推荐

  1. turn.js实现翻书效果

    JS插件网 http://www.ijquery.cn/?p=173 描述:Turn.js 是一个轻量级的 (15kb) jQuery/html5 插件用来创建类似书本和杂志翻页效果,支持触摸屏设备. ...

  2. Linux性能监控

    转自:http://blog.csdn.net/chosen0ne/article/details/8200737 linux性能监控,就是要监控系统的各个子系统是否正常.linux主要的子系统包括: ...

  3. sass中mixin常用的CSS3

    圆角border-radius @mixin rounded($radius){ -webkit-border-radius: $radius; -moz-border-radius: $radius ...

  4. 对UIWebView的学习

    建工程,建一个类WebViewController 继承于UIViewController WebViewController设置为根视图控制器 WebViewController遵守UIWebVie ...

  5. 矩阵卷积Matlab(转载)

    转载自:http://blog.csdn.net/anan1205/article/details/12313593 两个矩阵卷积转化为矩阵相乘形式--Matlab应用(这里考虑二维矩阵,在图像中对应 ...

  6. Codeforces Round #143 (Div. 2)

    A. Team 模拟. B. Magic, Wizardry and Wonders 可以发现\[d=a_1-a_2+a_3-a_4+\cdots\] 那么有\(odd=\lfloor \frac{n ...

  7. Visible 绑定

    目的 Visible绑定通过绑定一个值来确定DOM元素显示或隐藏 <script src="knockout.js"></script><div da ...

  8. Wireshark抓包实例分析TCP重复ACK与乱序

    转载请在文首保留原文出处: EMC 中文支持论坛https://community.emc.com/go/chinese 介绍 TCP 的一大常见问题在于重复 ACK 与快速重传.这一现象的发生也是由 ...

  9. 运用@media实现网页自适应中的几个关键分辨率

    http://jingyan.baidu.com/article/6f2f55a1ab36c3b5b83e6c46.html http://www.5imoban.net/jiaocheng/div+ ...

  10. ps调整图层

    自然饱和度:自然饱和度命令和色相饱和度命令里的饱和度相比最大的区别是自然饱和度只增加未达到饱和的颜色的饱和度,而饱和度命令则增加整个图像的饱和度,可能会导致图像颜色过于饱和,而自然饱和度不会出现这种问 ...