Python代码使用递归法对整数进行因数分解
时间: 2024-02-06 14:10:13 浏览: 155
递归方法实现整数的划分
5星 · 资源好评率100%
以下是使用递归法对整数进行因数分解的 Python 代码:
```python
def factorize(n, factors=[]):
"""
递归地将整数 n 分解成质因数,并将其存储在 factors 列表中。
"""
# 从 2 开始循环,找到 n 的第一个因子
for i in range(2, n+1):
if n % i == 0:
# 如果找到了因子 i,则将其加入 factors 列表中
factors.append(i)
# 将 n/i 作为新的 n,继续进行因数分解
return factorize(n//i, factors)
# 当 n 无法再被分解成更小的因子时,返回 factors 列表
return factors
```
使用示例:
```python
>>> factorize(12)
[2, 2, 3]
>>> factorize(100)
[2, 2, 5, 5]
>>> factorize(13195)
[5, 7, 13, 29]
```
在上面的例子中,`factorize(n)` 函数会将整数 `n` 分解成质因数,并将它们以列表的形式返回。例如,`factorize(12)` 的结果是 `[2, 2, 3]`,因为 $12 = 2^2 \times 3$。
阅读全文