我在处理欧拉计划的第七个问题时遇到了问题。我的代码运行时间太长了。以下是我的代码:
def Problem7():
num = 0
p = 0
while p < 10002 :
prime = True
for i in range(2,num):
if (num%i==0):
prime = False
if prime:
print(num)
p = p + 1
num = num + 1
Problem7()
如何使它更快?还有其他方法吗?
range
切换到xrange
。 - mgilsonbreak
)。为什么要在找到后继续寻找呢?(3)你只需要测试2作为偶数的因子。之后,可以跳过所有偶数。还有其他加速的方法,但我列出的这些是非常微不足道的。 - Tom Karzes