问题 C: 完美立方数

题目描述

费马大定理断言,当整数 n > 2时,关于 a,b,c 的方程 an = bn + cn 没有正整数解。 该定理被提出来后,历经三百多年,经历多人猜想辩证,最终在 1995 年被英国数学家安德鲁.怀尔斯证明。 当然,可以找到大于 1 的 4 个整数满足完美立方等式:a3 = b3 + c3 + d3 (例如 123 = 63 + 83 + 103) 编写一个程序,对于任意给定的正整数 N(N<=100),寻找所有的四元组(a,b,c,d),满足 a3= b3+ c3 + d3 其中 1 < a,b,c,d <=N

输入

正整数 N(N <= 100)

输出

按照 a 的值从小到大,每行输出一个完美立方等式,其中b,c,d按照非降序排列输出。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

(若两个完美立方式中 a 值相同,则 b 值小的先输出;在 b 值相等的情况下,c 值小的先输出,在 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)

来源/分类

高级语言程序实践-5 

N=int(input())
for a in range(2,N+1):
    for b in range(2,a):
        for c in range(b,a):
            for d in range(c,a):
                if d*d*d+b*b*b+c*c*c==a*a*a:
                    print("Cube = {},Triple = ({},{},{})".format(a,b,c,d))
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值