程序分析:
对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
①如果这个质数怡等于n,则说明分解质因数的过程已经结束,打印出即可。
②如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
③如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
def reduceNum(n):
print("对{}进行分解质因数为:{}=".format(n,n),end=" ")
#判断输入的数是否为正数
if not isinstance(n,int)or n<=0:
print("请输入一个正确的数字!!")
exit(0)#正常运行程序并且退出程序
elif n==1: #判断输入的数是否唯1
print("{}*{}".format(n,n))
while n!=1: #循环保证递归
for index in range(2,n+1):
if n%index==0: #查找能被n整除的数
n//=index #n=n//index
if n==1: #判断是否为n本身
print(index)
else:
print("{}*".format(index),end=" ")
break
#调用函数
reduceNum(80)
reduceNum(90)
reduceNum(100)
reduceNum(19)
reduceNum(24)