a+b+c=1000, 且a^2+b^2=c^2 (a,b,c为自然数), 如何求出所有a、b、c可能的组合?

答案:

看到题目想起了均值不等式,手贱算了下a,b,c的范围。

c应该大于1000\sqrt{2}-1000

附上python代码:

for c in range((int)(1000 * math.sqrt(2) - 1000), 1000):
    for a in range(0, 586):
        b = 1000 - a - c
        if a ** 2 + b ** 2 == c ** 2:
            print(a, b, c)

听说可以用time模块?不知道是什么原理嘿嘿。

猜你喜欢

转载自blog.csdn.net/Toky_min/article/details/81867068