使用列表实现筛选法求素数Python代码
时间: 2024-03-14 13:45:06 浏览: 99
py代码-列表ls=[1,2,3,4,5,6,7,8,9],编程去除ls中的素数,并输出结果列表
下面是使用列表实现筛选法求素数的 Python 代码:
```python
def sieve_of_eratosthenes(n):
""" 使用筛选法求出小于等于n的素数 """
primes = [True] * (n + 1)
primes[0], primes[1] = False, False
for i in range(2, int(n ** 0.5) + 1):
if primes[i]:
for j in range(i ** 2, n + 1, i):
primes[j] = False
return [i for i in range(n + 1) if primes[i]]
# 测试代码
print(sieve_of_eratosthenes(30))
```
此代码使用了一个名为 `primes` 的布尔列表,其中 `primes[i]` 表示 `i` 是否为素数。一开始将所有数都标记为素数,然后从2开始,将其倍数标记为非素数。最后,将所有标记为素数的数添加到一个列表中并返回。
阅读全文