python 实现正整数的质因子分解。要求编写自定义函数实现该功能。例如,给定10,打印出结果:[[2,5],[1,1]],表示10=21*51;给定200,打印出结果:[[2,5],[3,2]],表示200=23*52.
时间: 2023-05-12 15:05:41 浏览: 85
python 实现分解质因数
5星 · 资源好评率100%
以下是 Python 实现正整数的质因子分解的代码:
```python
def prime_factorization(n):
factors = []
i = 2
while i * i <= n:
count = 0
while n % i == 0:
count += 1
n //= i
if count > 0:
factors.append([i, count])
i += 1
if n > 1:
factors.append([n, 1])
return factors
print(prime_factorization(10)) # [[2, 1], [5, 1]]
print(prime_factorization(200)) # [[2, 3], [5, 2]]
```
该函数接受一个正整数 n 作为参数,返回一个列表,其中每个元素都是一个长度为 2 的列表,第一个元素表示质因子,第二个元素表示该质因子的指数。例如,[[2, 3], [5, 2]] 表示 200=2^3*5^2。
注意,该函数只能处理正整数,如果输入的是负数或零,会返回一个空列表。
阅读全文