Python筛法
算法 | python | 模板 | 筛法 | 数论
2025年6月13日
欧拉筛(线性筛)
def euler_sieve(n):
pri = []
not_prime = bytearray(n + 1)
for i in range(2, n + 1):
if not not_prime[i]:
pri.append(i)
for p in pri:
if i * p > n:
break
not_prime[i * p] = 1
if i % p == 0:
break
return pri