从键盘输入一个正整数(>1),然后将该整数分解为1和各个质因子的相乘, # 如果输入的整数本身就是质数,则应分解为1和该数本身相乘。用Python编写
时间: 2024-12-20 13:25:08 浏览: 6
在Python中,我们可以使用循环和条件判断来实现这个功能。首先需要检查输入的数字是否是质数,如果是,则返回1乘以该数字;如果不是,我们遍历到该数字平方根范围内的所有数,看是否存在能整除它的质因数。下面是相应的代码示例:
```python
def prime_factors(n):
i = 2
factors = []
# 检查如果n小于等于1,直接返回空列表
if n <= 1:
return [1] * n
# 检查n是否为质数
while i * i <= n:
if n % i:
i += 1
else:
n //= i
factors.append(i)
# 如果n还是大于1,说明它是最后一个质因数
if n > 1:
factors.append(n)
# 返回质因数的乘积,如果只有一个因数是1,不需要单独列出
result = [1]
for factor in factors:
if factor != 1:
result.append(factor)
return result
# 获取用户输入并处理
input_num = int(input("请输入一个正整数(>1): "))
result = prime_factors(input_num)
print(f"{input_num}可以分解为:{''.join(str(factor) + '*' for factor in result[:-1])}{str(result[-1])}")
阅读全文