python数分解为质数乘积
时间: 2024-10-03 10:03:15 浏览: 42
在Python中,可以使用循环结构和条件判断来实现一个简单的质因数分解算法。首先定义两个辅助函数:
1. `su(x)` 函数用于判断一个数`x`是否为质数。如果`x`能被从2到`x-1`范围内的任意数整除,则不是质数,返回0;否则继续判断,直到遍历完整个范围。
2. `fen(x)` 函数则是实际的分解函数,通过迭代找到`x`的第一个非质因子`i`(即`x`能被`i`整除),然后更新`x`为`x/i`并继续寻找下一个质因数。当找到的非质因数为1时,表示已经分解完毕,返回剩余的质数部分。
下面是完整的代码示例:
```python
def su(x):
for i in range(2, x - 1):
if (x % i == 0):
return 0
return 1
def fen(x):
for i in range(2, x - 1):
if (x % i == 0):
if (su(i) == 1):
return i, x // i
return 1, x
k = int(input('输入一个数字'))
print(f"{k} =", end='')
cheng, yu = fen(k)
while (cheng != 1):
print(cheng, '*', end='')
cheng, yu = fen(yu)
print(yu)
```
当你运行这段代码并输入一个数字,程序会输出该数字的质因数分解结果。例如,对于输入90,程序会显示90=2*3*3*5。
阅读全文