在Python中,你可以使用一个自定义函数来输出一个数的质因数。下面是一个简单的函数实现:
import math
def prime_factors(num):
factors = []
处理2的因数
while num % 2 == 0:
factors.append(2)
num = num // 2
检查奇数因数
for i in range(3, int(math.sqrt(num)) + 1, 2):
while num % i == 0:
factors.append(i)
num = num // i
如果num此时大于2,则num本身是一个质数
if num > 2:
factors.append(num)
return factors
示例:输出数字12的质因数
print(prime_factors(12)) 输出:[2, 2, 3]
这个函数首先处理数字`num`的所有2的因数,然后从3开始检查奇数因数,直到`sqrt(num)`,因为一个合数必定有一个小于或等于其平方根的质因数。如果最后`num`大于2,则`num`本身是一个质因数。
你可以将这个函数用于任何正整数,以得到其质因数分解。如果你需要输出一个特定数字的质因数,只需调用`prime_factors`函数并传入该数字即可。