Python中求正整数的素数因子的代码
时间: 2024-03-28 11:12:48 浏览: 96
Python判断一个正整数是否为素数的算法
5星 · 资源好评率100%
以下是一个Python函数,用于找到一个正整数的所有素数因子:
```python
def prime_factors(n):
factors = []
d = 2
while n > 1:
while n % d == 0:
factors.append(d)
n //= d
d += 1
if d*d > n:
if n > 1: factors.append(n)
break
return factors
```
该函数采用了一种常见的方法,即通过迭代除以2、3、4、5等来找到所有的素数因子。在每次迭代中,我们使用一个除数d来测试n是否能够整除它。如果它可以整除,我们就将d添加到因子列表中,并将n除以d。如果不能整除,则增加d并重复此过程,直到d的平方大于n。最后,如果n仍然大于1,则我们将其添加到因子列表中。
例如,如果我们调用prime_factors(60),它将返回[2, 2, 3, 5],因为60的素数因子是2、2、3和5。
阅读全文