python中m到n之间素数求和
时间: 2024-10-16 18:19:28 浏览: 17
在Python中,求解m到n之间的素数并求和,可以采用埃拉托斯特尼筛法(Sieve of Eratosthenes)或者直接遍历判断的方式。以下是两种简单实现方法:
**方法一:埃拉托斯特尼筛法**
```python
def sum_primes(m, n):
sieve = [True] * (n + 1)
sieve[0], sieve[1] = False, False
p = 2
while p * p <= n:
if sieve[p]:
for i in range(p * p, n + 1, p):
sieve[i] = False
p += 1
primes_sum = sum(i for i in range(m, n + 1) if sieve[i])
return primes_sum
# 示例:求5到15之间的素数和
sum_of_primes = sum_primes(5, 15)
```
**方法二:直接遍历和判断**
```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 sum_primes_m_to_n(m, n):
primes_sum = 0
for num in range(m, n + 1):
if is_prime(num):
primes_sum += num
return primes_sum
# 示例同上
sum_of_primes = sum_primes_m_to_n(5, 15)
```
阅读全文