编写程序实现用Eratosthenes筛法寻找给定范围内的素数代码及运行结果
时间: 2024-09-10 07:27:35 浏览: 44
MATLAB寻找素数的源程序代码-综合文档
埃拉托斯特尼筛法是一种古老的算法,用于找出一定范围内所有质数。它通过不断排除能被已知质数整除的数,逐步筛选出所有的素数。以下是使用Python语言实现的一个简单版本:
```python
def sieve_of_eratosthenes(n):
primes = [True] * (n+1)
primes[0], primes[1] = False, False # 0和1不是质数
for i in range(2, int(n**0.5) + 1):
if primes[i]:
for j in range(i*i, n+1, i): # 只需要检查i的倍数
primes[j] = False
return [i for i, is_prime in enumerate(primes) if is_prime]
# 示例:找到1到30内的素数
result = sieve_of_eratosthenes(30)
print(f"1到30之间的素数有:{result}")
阅读全文