py求100到1000范围内所有素数的和
时间: 2024-10-16 22:17:11 浏览: 91
Python求区间正整数内所有素数之和的方法实例
5星 · 资源好评率100%
在Python中,我们可以使用一个常见的算法——埃拉托斯特尼筛法(Sieve of Eratosthenes)来找出指定范围内的所有素数,并计算它们的和。以下是实现步骤:
```python
def sum_of_primes(start, end):
primes = [True] * (end + 1) # 初始化一个布尔数组表示每个数字是否为素数
p = 2 # 首个素数是2
while p * p <= end:
if primes[p]: # 如果p是素数
for i in range(p * p, end + 1, p): # 将其倍数标记为非素数
primes[i] = False
p += 1
prime_sum = sum(i for i in range(start, end + 1) if primes[i]) # 计算并返回素数之和
return prime_sum
# 示例:求100到1000之间的素数和
result = sum_of_primes(100, 1000)
print(f"100到1000范围内素数的和为: {result}")
阅读全文