python用户输入一个2到 500内的自然数N,编写程序对N进行质因数分解,并输出所有的因数,判断是否是质数
时间: 2024-12-17 08:53:49 浏览: 5
在Python中,你可以通过以下步骤编写一个程序来完成这个任务:
1. 首先,获取用户的输入并验证它是否在指定范围内(2到500之间)。
2. 然后,创建一个函数用于计算质因数分解,可以采用试除法的方式找出所有因子。
3. 使用递归或循环遍历找到的所有因子,判断它们是否是质数。
4. 输出分解后的质因数以及判断结果。
下面是一个简单的示例代码:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
def prime_factors(n):
factors = []
divisor = 2
while divisor <= n:
if n % divisor == 0:
factors.append(divisor)
n //= divisor
else:
divisor += 1
return factors
def main():
N = int(input("请输入一个2到500之间的自然数:"))
if 2 <= N <= 500:
factors = prime_factors(N)
print(f"数字 {N} 的质因数分解是:{factors}")
if all(is_prime(factor) for factor in factors):
print(f"{N} 是质数")
else:
print(f"{N} 不是质数")
else:
print("输入错误,请在2到500之间选择一个数字。")
if __name__ == "__main__":
main()
```
阅读全文