python 找出100-1000素数
时间: 2024-09-27 21:04:16 浏览: 28
在Python中,找出100到1000之间的素数可以使用一种叫做“埃拉托斯特尼筛法”(Sieve of Eratosthenes)的经典算法。这个算法遍历数字列表,去除所有能整除它的非素数。以下是实现这个功能的一个简单示例:
```python
def find_primes(start, end):
primes = [True] * (end + 1) # 初始化一个布尔数组表示范围内的所有数都是素数
primes[0], primes[1] = False, False # 素数排除0和1
for num in range(2, int(end**0.5) + 1): # 只需要检查到根号n,因为大于根号n的因子会在之前已经被找到
if primes[num]: # 如果当前数是素数
for multiple in range(num*num, end + 1, num): # 将其倍数标记为非素数
primes[multiple] = False
# 输出100到1000之间所有的素数
result = [num for num, is_prime in enumerate(primes[start:end+1]) if is_prime]
return result
# 调用函数并打印结果
prime_numbers = find_primes(100, 1000)
print("100-1000之间的素数有:", prime_numbers)
阅读全文