请编写程序,输入一个正整数 n(1<n<2 31 ),对其进行质因数分解,输出分解结果。
时间: 2023-09-18 07:03:56 浏览: 193
将一个正整数分解质因数。
编写程序如下:
```python
def prime_factorization(n):
factors = []
while n % 2 == 0:
factors.append(2)
n = n // 2
i = 3
while i * i <= n:
while n % i == 0:
factors.append(i)
n = n // i
i += 2
if n > 1:
factors.append(n)
return factors
n = int(input("请输入一个正整数n:"))
result = prime_factorization(n)
print("质因数分解的结果为:", result)
```
以上程序中,`prime_factorization`函数实现了质因数分解的逻辑。它首先判断n是否能被2整除,如果能则将2添加到质因数列表中,并将n更新为n除以2的整数部分;然后从3开始,以每次增加2的步长判断n是否能被当前数i整除,如果能则将i添加到质因数列表中,并将n更新为n除以i的整数部分,直到i*i大于n为止;最后如果n大于1,则将n添加到质因数列表中。最后,将得到的质因数列表作为结果进行输出。
通过上述程序,可以对输入的正整数n进行质因数分解,并输出分解结果。
阅读全文