暴力法
```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
优化法
```python
import 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`