Я пытаюсь получить сумму всех простых чисел, используя сито на Python 2.7. Однако, когда я запускаю программу, я получаю только 0 каждый раз. Я понятия не имею, почему это происходит.Простые числа сита Python
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
Используйте 'timeit' для временного кода, а не' времени. clock() ' – Volatility
@Volatility i означает, что функция возвращает 0 независимо от того, что. il изменить его с помощью timeit, хотя – user2604347
Это был общий совет, а не решение проблемы. Извините за недоразумение. – Volatility