我有一个简短的函数,可以计算所有素数的总和,直到一个限制。这是上下文的完整代码:
def primes_sum(limit):
limitn = limit+1
not_prime = [False] * limitn
primes = []
for i in range(2, limitn):
if not_prime[i]:
continue
for f in xrange(i*2, limitn, i):
not_prime[f] = True
primes.append(i)
return sum(primes)
其中大部分对我来说很有意义,但我不明白这部分:
not_prime = [False] * limitn
这样做的具体目的是什么?它是如何工作的,它如何确定一个数字是否是素数?我已经尝试查找它,但我找不到答案。
提前致谢。