用Python语言编写程序,输入一个大于0的正整数,,分解质因数并输出
时间: 2023-05-31 22:02:09 浏览: 184
以下是Python代码:
```python
num = int(input("请输入一个大于0的正整数:"))
print(num, "的质因数为:")
factor = 2
while factor <= num:
if num % factor == 0:
print(factor, end=" ")
num //= factor
else:
factor += 1
```
运行结果示例:
```
请输入一个大于0的正整数: 36
36 的质因数为:
2 2 3 3
```
相关问题
用Python语言编写程序,输入一个大于0的正整数,分解质因数并输出。例如,当输入90后,输出为1*2*3*3*5
以下是Python程序实现:
```python
n = int(input("请输入一个大于0的正整数:"))
factors = []
i = 2
while i <= n:
if n % i == 0:
factors.append(i)
n //= i
else:
i += 1
print("*".join(str(x) for x in factors))
```
程序首先读入一个大于0的正整数n。然后,我们使用一个while循环来分解n的质因数。循环内部,我们检查n是否可以被i整除,如果可以,就将i添加到因数列表中,并将n除以i,以便继续找到下一个质因数。如果n不能被i整除,则增加i的值,以便找到下一个可能的质因数。
最后,我们将因数列表中的元素转换为字符串,并使用"*"字符连接它们,以便输出结果。
编写程序,输入一个大于0的正整数,分解质因数并输出。例如,当输入90后,输出为1*2*3*3*5.
```python
n = int(input("请输入一个大于0的正整数:"))
factors = [] # 存储质因数的列表
# 从2开始循环,尝试将n分解为若干个质因数的乘积
while n > 1:
for i in range(2, n + 1):
if n % i == 0: # i是n的一个因数
factors.append(i) # 将i加入质因数列表
n //= i # n除以i,更新n的值,继续分解
break
# 将质因数列表转化为字符串输出
result = '*'.join(str(i) for i in factors)
print(result)
```
输出示例:
```
请输入一个大于0的正整数:90
2*3*3*5
```
阅读全文