如何用python将正整数分解为质因数
时间: 2024-09-12 19:13:03 浏览: 40
在Python中,将一个正整数分解为质因数,可以使用一个简单的算法,该算法的基本思想是:从最小的质数2开始,尝试将正整数除以当前的质数,如果能够整除,则说明找到了一个质因数,然后继续将剩余的数继续进行质因数分解,直到这个数不能再被当前的质数整除为止,然后尝试下一个质数。重复这个过程,直到分解完成。下面是具体的实现方法:
```python
def prime_factors(n):
# 存储质因数的列表
factors = []
# 从最小的质数开始分解
divisor = 2
while n > 1:
while n % divisor == 0:
# 如果可以整除,则添加到质因数列表中
factors.append(divisor)
n //= divisor # 除以当前的质因数,并更新n的值
# 不能整除时,尝试下一个数字作为除数
divisor += 1
return factors
# 示例:分解100
print(prime_factors(100)) # 输出应该是[2, 2, 5, 5]
```
这段代码定义了一个`prime_factors`函数,它接受一个正整数`n`作为参数,然后通过循环寻找能够整除`n`的质数,将其作为质因数添加到列表中,并更新`n`的值。当`n`不能再被当前的`divisor`整除时,`divisor`加1继续尝试,直到`n`变成1为止。此时列表`factors`中存储的就是`n`的所有质因数。
阅读全文