输入2个正整数m 和n(1<=m,n<=500),统计并输出m 和n 之间的素数的个数以及这些素数的和(素数就是只能被1 和自身整除的正整数,1 不是素数,2 是素数)
时间: 2024-09-25 18:20:39 浏览: 63
当你想要计算两个正整数 m 和 n 之间(包括 m 和 n)的素数个数和它们的和时,可以按照以下步骤操作:
1. 首先,遍历从 m 到 n 的每个数字 i(包含 m 和 n),判断它是否是素数。
- 对于每个 i,检查其是否能被 2 到 sqrt(i) 之间的任意整数整除,因为如果 i 有大于它的因子,那么这个因子一定小于等于 sqrt(i)。
2. 如果 i 只能被 1 和 i 整除,说明它是素数。你可以增加一个计数器来记录素数的数量,并将 i 加到素数之和上。
3. 当遍历结束后,返回素数的数量和素数之和。
以下是 Python 中的一个简单示例代码片段:
```python
import math
def is_prime(num):
if num < 2:
return False
for i in range(2, int(math.sqrt(num)) + 1):
if num % i == 0:
return False
return True
def count_primes_and_sum(m, n):
prime_count = 0
prime_sum = 0
for i in range(m, n + 1):
if is_prime(i):
prime_count += 1
prime_sum += i
return prime_count, prime_sum
# 示例:
m = 10
n = 20
prime_count, prime_sum = count_primes_and_sum(m, n)
print(f"在 {m} 到 {n} 之间的素数有 {prime_count} 个,它们的和是 {prime_sum}")
```
阅读全文