找出给出范围内的素数用Python
时间: 2024-09-22 13:08:41 浏览: 31
找出给定范围内(例如从2到n)的所有素数是常见的编程练习,可以使用Python编写一个简单的函数来实现这个功能。这里是一个基于埃拉托斯特尼筛法(Sieve of Eratosthenes)的示例:
```python
def find_primes(start, end):
primes = []
sieve = [True] * (end + 1)
# 将0和1标记为非素数
sieve[0] = sieve[1] = False
# 遍历从2开始的数字
for i in range(2, int(end ** 0.5) + 1):
if sieve[i]:
# 对于i的倍数,标记它们为非素数
for j in range(i*i, end+1, i):
sieve[j] = False
# 把所有大于start并且被标记为素数的数字添加到列表中
for num in range(max(start, 2), end + 1):
if sieve[num]:
primes.append(num)
return primes
# 示例用法
start = 10
end = 50
result = find_primes(start, end)
print(f"在 {start} 到 {end} 范围内的素数有: {result}")
阅读全文