利用函数计算素数个数并求和:输入两个正整数 m 和 n(1<=m, n<=500),统计并输出 m 和 n 之间的素数的个数以及这些素数的和。要求定义并调用函数 prime(m)判断 m 是否为素数。试编写相应程序。
时间: 2024-05-08 18:22:21 浏览: 12
好的,我来为你解答这个问题。
首先,我们需要定义一个函数 `prime(m)`,用来判断一个数是否为素数。
代码如下:
```python
def prime(m):
if m < 2:
return False
for i in range(2, int(m ** 0.5) + 1):
if m % i == 0:
return False
return True
```
接着,我们可以编写主函数 `count_primes(m, n)`,用来计算 m 和 n 之间的素数个数以及这些素数的和。
代码如下:
```python
def count_primes(m, n):
count = 0 # 记录素数个数
total = 0 # 记录素数和
for i in range(m, n + 1):
if prime(i):
count += 1
total += i
print("素数个数为:", count)
print("素数和为:", total)
```
最后,我们可以调用 `count_primes(m, n)` 函数来计算 m 和 n 之间的素数个数以及这些素数的和。
完整代码如下:
```python
def prime(m):
if m < 2:
return False
for i in range(2, int(m ** 0.5) + 1):
if m % i == 0:
return False
return True
def count_primes(m, n):
count = 0 # 记录素数个数
total = 0 # 记录素数和
for i in range(m, n + 1):
if prime(i):
count += 1
total += i
print("素数个数为:", count)
print("素数和为:", total)
m = int(input("请输入 m:"))
n = int(input("请输入 n:"))
count_primes(m, n)
```
希望能够帮助到你!