python 质数因子
时间: 2023-10-12 12:21:24 浏览: 91
python 将一个正整数分解质因数 例如:输入90,打印出90=233*5 (示例)
以下是一个 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
```
该程序使用一个 while 循环来不断除以最小质因子,直到该数为 1。在每个循环迭代中,程序都会检查当前最小质因子是否是 n 的因子。如果是,它将因子添加到列表中,并将 n 除以该因子。否则,它增加最小质因子的值,直到找到一个新的最小质因子。
程序还包含一个特殊的情况,即当最后一个因子大于 n 的平方根时,它将 n 本身添加到因子列表中,因为此时 n 必定是一个质数。
下面是一个例子,演示如何使用该函数来找出数字 84 的所有质数因子:
```python
>>> prime_factors(84)
[2, 2, 3, 7]
```
因此,数字 84 可以分解为 2 x 2 x 3 x 7,其中每个因子都是质数。
阅读全文