在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`
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/58237.html