当我遇到问题时,我正在做欧拉工程中的问题9。我的程序正在走向长时间运行。超过半小时。这是我的代码。如何循环一个数字,以便数字遍历每个可能的值?
def Problem9():
a = 1
b = 1
c = 1
x = []
while(a + b + c != 1000):
a = a + 1
for i in range(0,1000):
c = 1000 - (a + b)
if a < b < c:
if (a*a) + (b*b) == (c*c):
x.append(a*b*c)
print(a*b*c)
b = b + 1
print(x)
Problem9()
这基本上应该找出所有的勾股数,其高达一千添加(链接到的问题,这样就可以更好地理解它:https://projecteuler.net/problem=9)有没有在我的代码有问题,我可以修复或是我的代码根本错误?
循环结构看起来非常不自然且令人费解。你应该有两个普通的嵌套'for'循环,并从另外两个设置第三个变量。优化退出条件以避免不必要的循环。 –