输出n到m之间的素数,python
时间: 2024-10-09 07:01:58 浏览: 22
输入整数n,输出1~n的素数
在Python中,你可以使用Sieve of Eratosthenes算法来生成指定范围内的所有素数。这是一种古老而有效的找到一定范围内所有质数的方法。下面是一个简单的函数实现:
```python
def sieve_of_eratosthenes(n, m):
primes = [True] * (m + 1) # 初始化一个布尔列表,假设0到m都是质数
primes[0], primes[1] = False, False # 0和1不是质数
for num in range(2, int(m**0.5) + 1): # 只需要检查到根号m
if primes[num]:
for multiple in range(num*num, m+1, num): # 把num的倍数标记为非质数
primes[multiple] = False
for prime in range(n, m + 1): # 打印n到m之间的质数
if primes[prime]:
print(prime)
# 调用函数
sieve_of_eratosthenes(10, 30)
```
阅读全文