枚举算法:完美立方

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所在位置分别用世纪求出四元组值代入。

思路

  1. 选择合理的枚举顺序
  2. 确定合理的枚举范围
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)))
上一篇下一篇

猜你喜欢

热点阅读