用python 完成以下功能:求[m,n]范围内的全部素数并输出。m、n是键盘输入的正整数,如果m、n有0及负整数,则输出“输入不是正整数!”;如果范围内有素数,则输出素数,若无素数,则输出“不存在素数!”。要求: 1)定义isPrime(m)函数,判断正整数m是否是素数,是素数返回True,否则返回False。2)定义prtPrime(m,n)函数,打印[m,n]范围内的素数,该函数返回值是找到的素数个数,同时控制一行最多是5个素数打印。
时间: 2024-03-26 22:35:54 浏览: 129
好的,这是一个求素数的常见问题,可以使用Python编写程序来实现。以下是实现代码:
```python
def isPrime(m):
"""
判断正整数m是否是素数,是素数返回True,否则返回False。
"""
if m <= 1:
return False
for i in range(2, int(m ** 0.5) + 1):
if m % i == 0:
return False
return True
def prtPrime(m, n):
"""
打印[m,n]范围内的素数,返回找到的素数个数。
"""
if m <= 0 or n <= 0:
print("输入不是正整数!")
return 0
count = 0
for i in range(m, n + 1):
if isPrime(i):
count += 1
print(i, end=" ")
if count % 5 == 0:
print()
if count == 0:
print("不存在素数!")
else:
print("\n找到了%d个素数!" % count)
return count
# 测试
m = int(input("请输入m:"))
n = int(input("请输入n:"))
prtPrime(m, n)
```
运行程序后,输入m和n,即可输出[m,n]范围内的素数。例如,输入m=2,n=20,程序输出结果如下:
```
2 3 5 7 11
13 17 19
找到了8个素数!
```
这样,您就成功实现了求[m,n]范围内的全部素数并输出的功能。
阅读全文