输入一个正整数,然后判断它是否是质数,若不是质数,输出因子
时间: 2024-11-09 09:23:59 浏览: 7
Python例题(一) 输入一个正整数判断是不是素数
判断一个正整数n是否为质数,可以采用试除法,即从2开始到sqrt(n)(取整),如果n能被任何一个数整除,那么n就不是质数。如果所有小于等于sqrt(n)的数都不能整除n,则n是质数。
下面是一个简单的步骤描述:
1. 首先检查n是否小于2,因为2是最小的质数,其他小于2的数都不是质数。
2. 然后从2到sqrt(n),循环检查每个数i是否能整除n,如果能整除,说明n不是质数,返回它的因子{i}。
3. 如果循环结束后没有找到能整除的数,那么n就是质数,输出"该数字是质数"。
以下是Python代码示例:
```python
import math
def is_prime_and_factors(n):
if n < 2:
return f"{n} 不是质数,因子:无"
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
factors = [i]
while n % i == 0:
n //= i
factors.append(i)
return f"{n} 不是质数,因子:{factors}"
return f"{n} 是质数"
# 示例
number = int(input("请输入一个正整数:"))
result = is_prime_and_factors(number)
print(result)
```
阅读全文