Eratosthenes的筛子是一种高效的算法,用于找出一定范围内的所有素数。相比于“优化”的迭代素数搜索算法,Eratosthenes的筛子具有以下优势:
对于Python 3,可以使用以下代码实现Eratosthenes的筛子算法:
def sieve_of_eratosthenes(n):
primes = [True] * (n+1)
primes[0] = primes[1] = False
p = 2
while p * p <= n:
if primes[p]:
for i in range(p * p, n+1, p):
primes[i] = False
p += 1
return [i for i in range(n+1) if primes[i]]
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云