#寻找质因数
def digui(num):
for i in range(2,int(1+num/2)):
if num % i == 0:
print('%d * '%i,end = '')
num = int(num / i)
digui(num)
if zspd(num) !=1:
print('%d'%num)
break
#判断一个数是否是质数
def zspd(shu):
s = 0
for i in range(2, int(1+shu/2)):
if shu % i == 0:
s = 1
break
return s
num = eval(input('请输入一个数:'))
if zspd(num) != 1 and num != 1:
print('%d = 1 * %d'%(num,num))
else:
print('%d = '%num,end = '')
digui(num)
运行结果
请输入一个数:895648
895648 = 2 * 2 * 2 * 2 * 2 * 13 * 2153
请输入一个数:128
128 = 2 * 2 * 2 * 2 * 2 * 2 * 2
请输入一个数:125
125 = 5 * 5 * 5
请输入一个数:54576421
54576421 = 1 * 54576421
请输入一个数:7454317
7454317 = 13 * 573409
请输入一个数:100
100 = 2 * 2 * 5 * 5
请输入一个数:214
214 = 2 * 107