输入一个正整数,判断其是否为素数(只能被1和其本身整除的正整数)。如果用户输入合法的正整数(int类型),则判断该数是否为素数,是输出'Yes',不是输出'No';如果用户输入小于等于0的数,则输出“input error”。
时间: 2024-10-04 18:01:52 浏览: 46
Python例题(一) 输入一个正整数判断是不是素数
你可以通过以下步骤编写一个简单的程序来实现这个功能:
1. 首先,从用户那里获取输入的整数。
2. 检查输入是否为正整数。如果不是正整数(如负数或零),提示"input error"。
3. 使用循环结构遍历从2到这个数的平方根,因为一个非素数必定可以表示为两个较小数的乘积,其中一个因子肯定小于或等于它的平方根。
4. 如果在这个范围内找到能整除这个数的因子,那么它就不是素数,输出"No"。
5. 如果循环结束后都没有找到因子,那么它是素数,输出"Yes"。
以下是Python代码示例:
```python
def is_prime(n):
if not isinstance(n, int) or n <= 0:
return "input error"
if n == 1:
return "No"
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return "No"
return "Yes"
# 用户输入
num = int(input("请输入一个正整数: "))
result = is_prime(num)
print(result)
```
阅读全文