エラトステネスの篩
SPFを計算する。
code: sieve.py
def sieve(N):
"""
エラトステネスの篩 O(NloglogN)
"""
table = 0 for _ in range(N+1) # SPF
for i in range(2, N+1):
if tablei: continue
j = i
while j <= N:
if not tablej:
tablej = i
j += i
prime = [i for i in range(2, N+1) if tablei == i]
return prime