完美立方

题目:

  • 形如a^3= b^3 + c^3 + d^3的等式被称为完美立方等式。例如
123= 63 + 83 + 103 。编写一个程序,对任给的正整数N
(N≤100),寻找所有的四元组(a, b, c, d),使得a3 = b3 +
c3 + d3,其中a,b,c,d 大于1, 小于等于N,且b<=c<=d。
  • 输入
一个正整数N (N≤100)。
  • 输出
每行输出一个完美立方。输出格式为:
Cube = a, Triple = (b,c,d)

其中a,b,c,d所在位置分别用实际求出四元组值代入。


解答:

  • 我的原始解答:
#include <stdio.h>

int main()
{
    int N;
    int a,b,c,d;
    scanf("%d",&N);
    for(a=2;a<=N;a++){
        for(b=2;b<=N-1;b++){
            for(c=b;c<=N-1;c++){
                for(d=c;d<=N-1;d++){
                    if((b<=c && c<=d && d<=a) && (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;
}

  • 修改之后的解答:
#include <stdio.h>

int main()
{
    int N;
    int a,b,c,d;
    scanf("%d",&N);
    for(a=2;a<=N;a++){
        for(b=2;b<=a-1;b++){
            for(c=b;c<=a-1;c++){
                for(d=c;d<=a-1;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;
}

运行结果:

 

      本题目来源于中国大学MOOC(慕课)平台上《程序设计与算法(二)》,如要学习更多,请去 中国大学MOOC搜索 程序设计与算法。

        我在此给出我的求解程序以及看了后续教学改进的程序,如果有什么疑问可以联系我的QQ545030769,共同学习进步!


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

踏雪无痕是个小疯子

您的鼓励将促使我的创作更有价值

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值