【问题描述】 输入一个正整数a,将其分解质因数,例如输入90,则90=2*3*3*5。如果正整数a没有质因数则输出a=a,例如输入7,则输出7=7。 【输入形式】 从键盘输入正整数a 【输出形式】 a=质因数1*质因数2.... 【样例输入1】 90 【样例输出1】 90=2*3*3*5 【样例输入2】 7 【样例输出1】 7=7
时间: 2024-03-17 21:47:08 浏览: 57
质因数分解算法例如90=2*3*3*5
3星 · 编辑精心推荐
好的,以下是 Python 代码实现:
```python
def prime_factorization(a):
"""
分解质因数
"""
factors = []
# 从 2 开始找质因数
while a > 1:
for i in range(2, a + 1):
if a % i == 0:
factors.append(i)
a //= i
break
# 拼接字符串
s = str(factors[0])
for i in range(1, len(factors)):
s += '*' + str(factors[i])
return s
# 测试
a = int(input())
print(f'{a}={prime_factorization(a)}')
```
输入正整数 `a`,输出该数的分解质因数形式。例如输入 `90`,输出 `90=2*3*3*5`。如果输入的正整数没有质因数,则输出 `a=a`,例如输入 `7`,输出 `7=7`。
注意,当输入 `1` 时,由于它没有质因数,输出应该为 `1=1`。
阅读全文