利用Eratosthenes筛法产生10000以内素数,代码,python
时间: 2024-09-08 22:02:19 浏览: 45
Eratosthenes筛选法求质数.rar
Eratosthenes筛法是一种古老而有效的找出一定范围内所有质数的算法。以下是Python实现的简单版本,用于生成小于或等于10000的所有素数:
```python
def sieve_of_eratosthenes(n):
primes = [True] * (n+1)
primes[0], primes[1] = False, False
# 遍历从2到sqrt(n),将所有倍数设为非素数
for i in range(2, int(n**0.5) + 1):
if primes[i]:
for j in range(i*i, n+1, i):
primes[j] = False
# 返回索引对应的值就是素数,结果列表
return [i for i in range(n+1) if primes[i]]
# 生成并打印10000以内的素数
primes = sieve_of_eratosthenes(10000)
for prime in primes:
print(prime)
阅读全文