python 求100到1000的素数
时间: 2024-10-02 16:01:24 浏览: 29
用python求100以内质数
在Python中,我们可以使用一种常见的算法,称为“埃拉托斯特尼筛法”(Sieve of Eratosthenes)来找出100到1000之间的素数。这里是一个简单的实现步骤:
```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
# 输出100到1000之间的素数
for num in range(100, 1001):
if primes[num]:
print(num)
sieve_of_eratosthenes(1000)
```
这个函数首先创建一个布尔数组`primes`,所有元素初始化为True。然后从2开始遍历到根号n,如果当前数字是素数(即`primes[i]`为True),就将其所有倍数设为非素数。最后筛选出100到1000之间并保持为True的索引对应的数字,就是素数。
阅读全文