思路
首先输入一个数k,判断是否为质数。在不为质数的情况下,从i=2开始遍历循环,找出能让k整除的质数i,并打印,此时令k=k/i的商,i=2,重新循环直到k小于i为止。最后再打印k。
代码
k = int(input())
def Isprimenum(x): # 判断是否为质数
flag = True
for i in range(2,int(pow(x,1/2))+1):
if x % i == 0:
flag = False
break
return flag
if Isprimenum(k):
print(str(k)+'='+str(k))
else:
print(str(k)+'=', end='')
i = 2
while k > i:
if k % i == 0 and Isprimenum(i):
print(str(i)+'*', end='')
k = k // i
i = 2
continue
i += 1
print(str(k))
结果
结语
这个思路其实就是短除法,可以用来求最大公因数和最小公倍数。