编写一个函数,以大于1的正整数n为参数,返回n的所有质因子组成的列表。使用该函数编程分解键盘输人的正整数的质因子并显示。例如,输人120,打印出120=2*2*2*3*5。
时间: 2024-02-29 07:52:50 浏览: 96
好的,我知道了。以下是实现该功能的 Python 代码:
```python
def prime_factors(n):
factors = []
divisor = 2
while divisor <= n:
if n % divisor == 0:
factors.append(divisor)
n //= divisor
else:
divisor += 1
return factors
num = int(input("请输入一个正整数:"))
factors = prime_factors(num)
factors_str = '*'.join(map(str, factors))
print(f"{num}={factors_str}")
```
该函数接收一个正整数 n 作为参数,返回 n 的所有质因子组成的列表。具体实现方法是,从 2 开始,循环除以 2 到 n 的所有整数,若能整除,则将该因子加入列表,并将 n 除以该因子;否则,将除数加 1 继续循环。最后返回所有因子组成的列表。
在主程序中,先用 input 函数读入一个正整数 num,然后调用 prime_factors 函数获取该数的质因子列表,并用 join 和 map 函数将列表中的数字转换成字符串,并用“*”拼接成一个字符串。最后打印出结果。
运行程序,输入 120,输出如下:
```
请输入一个正整数:120
120=2*2*2*3*5
```
注意,该代码只适用于正整数,不支持负数、零或非整数的输入。
阅读全文