在Python中分解质因数可以通过以下几种方法实现:
暴力法
```python
def prime_factors_brute_force(n):
factors = []
for i in range(2, n + 1):
while n % i == 0:
factors.append(i)
n = n // i
return factors
优化法
```pythonimport math
def 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
用户输入法
```python
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/77461.html