我在python上写了这段代码来解决项目欧拉问题#10,但我一直在等待15分钟(运行这段代码),它仍然没有结束。如何让python上的这段代码运行得更快?
请帮我改进此代码或优化它。
下面是摘录:
def prime (n):
f = 1 #flag
for i in range(2,n):
if n % i == 0:
f = 0
return f
s = 0 # Sum
for i in range(2,2000000):
if prime(i) == 1:
s = i + s
print s
你尝试[搜索一个有关Python和素数以前的答案](https://stackoverflow.com/search q =蟒蛇+黄金)? –
嗯 - 最简单的事情是 - 你不必一直跑到n找出素数,sqrt(n)会使它跑得快得多。 – gabhijit
@gabhijit立即返回将使它快得多:) – Alik