39、将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5python
时间: 2023-07-24 07:07:26 浏览: 92
以下是 Python 的代码实现:
```python
def prime_factorization(num):
factors = [] # 用于存放质因数的列表
divisor = 2 # 从最小的质数2开始除
while divisor <= num:
if num % divisor == 0: # 如果可以整除,则说明是一个质因数
factors.append(divisor) # 将质因数加入列表中
num //= divisor # 将num更新为剩下的部分
else:
divisor += 1 # 如果不能整除,则试探下一个质数
# 将质因数列表转化为字符串输出
factorization_str = '{}='.format(num) + '*'.join(str(factor) for factor in factors)
return factorization_str
```
上面的代码中,我们首先定义了一个 `prime_factorization` 函数,接受一个正整数作为输入。然后我们定义了两个变量:`factors` 用于存放质因数,`divisor` 用于从最小的质数2开始除。
然后我们用一个 while 循环对 num 进行质因数分解,循环条件是 `divisor <= num`。如果 num 可以被 divisor 整除,则说明 divisor 是 num 的一个质因数,我们将其加入 factors 列表中,并将 num 更新为除去这个质因数后的剩下部分。如果不能整除,则试探下一个质数。
最后,我们将质因数列表转化为字符串并输出。
阅读全文