我正在尝试使用 Python 2.7 上的筛子获取所有素数的总和。但是,当我运行该程序时,我每次只以 0 结束。我不知道为什么会这样。
import math,time
start=time.clock()
def primesieve(limit):
final=0
a=[True]*limit
a[0]=a[1]=False
for i,isprime in enumerate(a):
if isprime:
for n in xrange(i,limit,i):
a[n]=False
for i in xrange(limit):
if a[i]:
final=final+i
return final
print primesieve(2000000)
elapsed=time.clock()-start
print elapsed