整数求质因数python3
时间: 2023-06-10 17:04:53 浏览: 108
Sure, 以下是求一个整数的质因数的 Python 代码:
```python
def prime_factors(n: int) -> list:
factors = []
i = 2
while i * i <= n:
if n % i:
i += 1
else:
n //= i
factors.append(i)
if n > 1:
factors.append(n)
return factors
```
你只需在 Python3 环境下运行这个函数,调用时传入你所需要求解的整数即可。
相关问题
Python求质因数
以下是Python求质因数的示例代码:
```python
def prime_factors(n):
i = 2
factors = []
while i * i <= n:
if n % i:
i += 1
else:
n //= i
factors.append(i)
if n > 1:
factors.append(n)
return factors
print(prime_factors(100)) # 输出:[2, 2, 5, 5]
```
该示例代码中,定义了一个函数`prime_factors`,该函数接收一个整数`n`作为参数,返回`n`的所有质因数。在函数中,首先定义了变量`i`和空列表`factors`,然后通过while循环从2开始遍历到sqrt(n),当n%i等于0时,当前i就是一个质因子,将其添加到列表`factors`中,并将n除以i,继续循环。最后,如果n大于1,则说明n本身也是一个质因数,将其添加到列表`factors`中。最后返回`factors`列表即可。
用python写一个求质因数的函数
以下是一个用Python编写的求质因数的函数:
```python
def prime_factors(n):
factors = []
for i in range(2, n+1):
while n % i == 0:
factors.append(i)
n = n // i
if n == 1:
break
return factors
```
使用该函数可以找到一个数的所有质因数。例如:
```python
print(prime_factors(24)) # 输出 [2, 2, 2, 3]
print(prime_factors(17)) # 输出 [17]
```
该函数的基本思路是从2开始,依次尝试将n除以2、3、4、5、6...来判断是否是质因数,如果是,则将其添加到factors列表中,并将n除以该质因数。如果不是,则继续尝试下一个数。最后,如果n等于1,说明已经找到了所有的质因数,可以退出循环。
阅读全文