📜  欧拉因式分解方法(1)

📅  最后修改于: 2023-12-03 15:10:57.618000             🧑  作者: Mango

欧拉因式分解方法介绍

欧拉因式分解方法是一种将整数分解成质数的算法,也叫作质因数分解方法。这个方法是由瑞士数学家欧拉在1732年发明的。

方法描述

假设需要分解的数为n,求出n的最小质因子p,然后将n除以p得到的商q,再对商q进行同样的操作,不断重复可以得到n的所有质因数。

代码实现

以下是使用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
代码解析

此函数以整数n作为参数,返回n的所有质因子列表。

在内部,我们使用while循环来检查一个整数是否是质素。如果整数被发现是质素,我们将其添加到一个列表中,并将n除以这个质因子。

同时,我们还配置了一个初始值i = 2来开始检查质数是否是n的因子。我们只需检查i*i <= n,因为n / i必然会在某个点小于i。

最后,当n可能是大于1的质数时,我们将其添加到factors列表中。

测试示例

下面是一个测试示例,它展示了在32和54321这两个数字上使用欧拉因素分解函数的结果。

print(prime_factors(32))
print(prime_factors(54321))

运行结果显示:

[2, 2, 2, 2, 2]
[3, 7, 11, 13, 37]

这表明欧拉因素分解方法通过检查32和54321,成功将这两个数字分解成它们的质因数。