请进行程序设计,实现从键盘上输入一个整数n,找出距离其最近的素数,并输出整数num与这个素数之间的距离,整数n(num>=1)是否是素数用isprime(int num)函数实现。
时间: 2024-03-25 12:39:43 浏览: 100
C语言程序设计-从键盘输入一个大于3的整数,调用函数fun判断其是否素数,然后在main函数中输出相应的结论信息;
5星 · 资源好评率100%
好的,下面是程序设计:
```python
import math
def isprime(num):
"""
判断num是否为素数
"""
if num < 2:
return False
if num == 2:
return True
for i in range(2, int(math.sqrt(num)) + 1):
if num % i == 0:
return False
return True
n = int(input("请输入一个整数n:"))
if isprime(n):
print("您输入的整数n是素数,距离最近的素数是它自己,距离为0。")
else:
left, right = n - 1, n + 1 # 左右两边的数
while True:
if isprime(left):
print("距离最近的素数是{},距离为{}。".format(left, n - left))
break
if isprime(right):
print("距离最近的素数是{},距离为{}。".format(right, right - n))
break
left -= 1
right += 1
```
程序流程如下:
1. 定义函数isprime(num)判断num是否为素数。
2. 从键盘上输入一个整数n。
3. 如果n是素数,则输出提示信息。
4. 否则,定义左右两个数left和right,分别为n的左边和右边的数。
5. 不断地向左右两边搜索素数,直到找到距离n最近的素数为止。
6. 输出距离最近的素数和n之间的距离。
注意:为了简化程序,这里没有对输入的n进行错误处理。如果需要,可以在输入时加上try...except语句。
阅读全文