题目描述
费马大定理断言,当整数 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)
来源/分类
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))