Python实现将一个正整数分解质因数的方法分析

  • Post category:Python

Python实现将一个正整数分解质因数的方法分析

简介

本文将讲解如何使用Python将一个正整数分解质因数。首先,我们需要了解什么是质因数分解。

质因数分解,又称分解质因数,是将一个正整数分解为若干个质数(也可以是一次幂)。例如:120可以分解为2的三次方和3的一次方,即120 = 2^3 * 3^1

分解质因数的Python实现

下面是Python实现的程序:

def decompose(num):
    i = 2
    res = []
    while i * i <= num:
        if num % i:
            i += 1
        else:
            num //= i
            res.append(i)
    if num > 1:
        res.append(num)
    return res

我们使用一个循环来寻找质因数,当$i*i$大于$num$时,已无需继续寻找。如果$i$不能整除$num$,则$i$自增1,否则$num$除以$i$,并把$i$加入到列表$res$中,直到$num$等于1为止。

示例说明

示例一

我们来看看如何将正整数60分解为质因数:

print(decompose(60))

输出结果为:

[2, 2, 3, 5]

示例二

我们来看看如何将正整数129分解为质因数:

print(decompose(129))

输出结果为:

[3, 43]

总结

通过上面的代码实现,我们可以很方便的分解一个正整数的质因数,实现质因数分解功能。