本题要求统计给定整数M和N区间内素数的个数并对它们求和。 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500)。 输出格式: 在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以
时间: 2024-04-27 16:18:40 浏览: 145
biancheng.rar_M?n
空格分隔。
解题思路:
首先,我们需要编写一个来判断一个数是否为素数。素数是指只能被1和自身整除的数,所以我们可以从2开始,一直到该数的平方根,判断是否存在能整除该数的因子。如果存在,则该数不是素数;如果不存在,则该数是素数。
接下来,我们可以使用一个循环来遍历M到N之间的所有整数,对每个整数进行素数判断。如果是素数,则计数器加1,并将该素数累加到总和中。
最后,输出计数器的值和总和即可。
代码实现如下:
```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
M, N = map(int, input().split())
count = 0
sum = 0
for i in range(M, N + 1):
if is_prime(i):
count += 1
sum += i
print(count, sum)
```
阅读全文