Python 正整数分解质因数
时间: 2023-11-05 17:03:11 浏览: 104
可以使用以下代码实现正整数分解质因数:
```python
def factorization(n):
factors = []
d = 2
while d * d <= n:
while (n % d) == 0:
factors.append(d)
n //= d
d += 1
if n > 1:
factors.append(n)
return factors
```
该函数接受一个正整数作为参数,返回一个列表,其中包含该正整数的所有质因数。例如,调用 `factorization(24)` 返回 `[2, 2, 2, 3]`,表示 24 的质因数分解为 $2^3 \times 3$。
相关问题
python正整数分解质因数
以下是一个用Python分解正整数质因数的例子:
```python
num = int(input("请输入一个正整数:"))
ans1 = [] # 存质因数
ans2 = [] # 存质因数的指数
def test(num):
for i in range(2, num):
if num % i == 0:
ans1.append(i)
sum = 0
while num % i == 0:
sum += 1
num /= i
ans2.append(sum)
t = [] # 统一整合
test(num)
t.append(ans1)
t.append(ans2)
print(t)
```
这段代码会将输入的正整数分解为质因数和对应的指数,并将结果存储在列表`t`中。其中,`ans1`存储质因数,`ans2`存储质因数的指数。最后,将`t`打印出来即可得到结果。
用python语言写分解质因数,将一个正整数分解质因数
好的,我可以帮你写一个用Python语言实现的分解质因数的程序。
代码如下:
```python
def prime_factors(n):
"""
分解质因数
:param n: 正整数
:return: 包含n的所有质因数的列表
"""
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
# 测试代码
n = int(input("请输入一个正整数:"))
print(f"{n}的质因数为:{prime_factors(n)}")
```
你可以将这段代码保存为一个.py文件,在命令行中运行该文件并输入一个正整数,程序会输出该正整数的所有质因数。
阅读全文