用pythin,用生成器的方式计算任意起止范围内质数的和。
时间: 2024-03-24 21:36:04 浏览: 39
求某范围质数
好的,下面是代码实现:
```python
def is_prime(num):
"""
判断一个数是否为质数
"""
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
def prime_range(start, end):
"""
生成起始范围内的质数
"""
for num in range(start, end):
if is_prime(num):
yield num
def prime_sum(start, end):
"""
计算起始范围内质数的和
"""
return sum(prime_range(start, end))
# 测试
print(prime_sum(1, 10)) # 17
print(prime_sum(100, 200)) # 2791
```
首先定义一个 `is_prime` 函数,用于判断一个数是否为质数。然后定义一个 `prime_range` 生成器函数,用于生成指定范围内的质数。最后定义一个 `prime_sum` 函数,计算指定范围内质数的和。
阅读全文