写一个使用筛选法求求小于n的所有素数的Python程序
时间: 2024-05-12 18:17:22 浏览: 80
python使用筛选法计算小于给定数字的所有素数
好的,以下是一个使用筛选法求小于n的所有素数的Python程序:
```python
def sieve_of_eratosthenes(n):
# 初始化布尔数组,用于标记是否为素数
is_prime = [True] * (n+1)
# 剔除0和1不是素数的情况
is_prime[0] = is_prime[1] = False
# 从2开始筛选
for i in range(2, int(n**0.5)+1):
if is_prime[i]:
# 将i的倍数标记为非素数
for j in range(i*i, n+1, i):
is_prime[j] = False
# 返回所有素数的列表
return [i for i in range(n+1) if is_prime[i]]
# 测试
n = int(input())
primes = sieve_of_eratosthenes(n)
print(primes)
```
注意,这是一个Python 3的程序。您需要提供一个数n作为输入,程序将返回小于n的所有素数的列表。
阅读全文