枚举算法:完美立方
2019-11-17 本文已影响0人
pao哥
形如a3=b3+c3+d3的等式被称为完美立方等式。
例如: 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所在位置分别用世纪求出四元组值代入。
思路
- 选择合理的枚举顺序
- 确定合理的枚举范围
def perfectCubeNum(N):
for a in range(2, N + 1):
for b in range(2, a - 1):
for c in range(b, a - 1):
for d in range(c, a - 1):
if a ** 3 == b ** 3 + c ** 3 + d ** 3:
print("Cube=%s, Triple=%s" % (a, (b, c, d)))