在Python中分解质因数可以通过以下几种方法实现:
暴力法
def prime_factors_brute_force(n):factors = []for i in range(2, n + 1):while n % i == 0:factors.append(i)n = n // ireturn factors
优化法
import mathdef prime_factors_optimized(n):factors = []处理2的因子while n % 2 == 0:factors.append(2)n = n // 2处理奇数因子for i in range(3, int(math.sqrt(n)) + 1, 2):while n % i == 0:factors.append(i)n = n // i如果n是质数if n > 2:factors.append(n)return factors
用户输入法
def prime_factors_user_input():num = int(input("请输入一个正整数:"))factors = prime_factors_optimized(num)print("{} = {}".format(num, " * ".join(map(str, factors))))
你可以选择以上任意一种方法进行质因数分解。例如,使用优化法分解数字90的质因数,你可以调用`prime_factors_optimized(90)`,输出结果为`90 = 2 * 3 * 3 * 5`

