淘先锋技术网

首页 1 2 3 4 5 6 7

Python是一种十分强大的编程语言,可以用来处理各种数学问题。其中,求解质数因子是很常见的数学问题,Python也有很多内置库和函数可以用于求解。


def prime_factors(n: int):
    """
    求一个正整数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

python求质数因子

上述代码定义了一个名为"prime_factors"的函数,它接受一个正整数n作为输入,返回n的所有质数因子。具体实现过程是通过循环迭代,不断尝试将n除以从2开始的数字i,若除不尽,则i加1,否则n除以i的值,同时将i添加到质数因子列表中。如果循环结束后n仍然大于1,则说明n本身就是一个质数,将其加入因子列表中。

在使用上述函数时,只需将需要查找因子的数n作为参数传入即可:


print(prime_factors(15)) # [3, 5]
print(prime_factors(27)) # [3, 3, 3]
print(prime_factors(78)) # [2, 3, 13]
print(prime_factors(97)) # [97]

以上代码均可得到正确的质数因子列表,可以通过函数返回值进行进一步的操作。

在Python中求解质数因子可以说是非常简单的,特别是对于大数问题,Python的代码可读性和可维护性都非常好,因此被广泛应用于质数因子相关的算法和题目解答。