我有一个简短的函数,可以计算所有素数的总和,直到一个限制。这是上下文的完整代码:
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
这样做的具体目的是什么?它是如何工作的,它如何确定一个数字是否是素数?我已经尝试查找它,但我找不到答案。
提前致谢。