Python求质因数
时间: 2023-12-25 13:27:28 浏览: 41
以下是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`列表即可。
相关问题
整数求质因数python3
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求质因子的方法[^1][^2]:
```python
n = int(input("请输入一个正整数:")) # 输入一个正整数n
factors = [] # 创建一个空列表来存储因子
for i in range(2, n+1): # 遍历2到n之间的所有数
while n % i == 0: # 当n可以整除i时
factors.append(i) # 将i加入因子列表
n //= i # 将n除以i,更新n的值,去除重复的因子
print("该数的所有质因子为:", factors) # 输出该数的所有质因子
```
这段代码首先要求用户输入一个正整数n,并将其转换为整数类型。然后创建一个空列表factors,用于存储n的所有质因子。接下来使用for循环,遍历2到n+1之间的所有数字。因为一个数的质因子最大为它的平方根,所以从2开始遍历即可。在循环中使用while循环,当n可以被i整除时,执行下面的步骤。将i加入factors列表中,表示i是n的一个质因子。然后将n除以i,更新n的值,去除重复的因子。循环结束后,输出factors列表中的所有元素,即为n的所有质因子。