今天我们来练习第三题
题目三:
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
题目解析:对num进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成:
(1)如果这个质数恰等于num,则说明分解质因数的过程已经结束,打印出即可。
(2)如果num!=i,但num能被i整除,则应打印出i的值,并用num除以i的商,作为新的正整数num,重复执行第一步。
(3)如果num不能被i整除,则用i+1作为i的值,重复执行第一步。
num= int (input("请输入一个正整数:"))
print("%d=" %num,end="")
while num !=1:
# 判断输入的整数不等于1并作为继续运算的条件
for i in range(2, num+1):
# 依次遍历1-num的数
if (num %i) ==0 and i !=1:
# num!=i,但num能被i整除,则应打印出i的值
num =int(num/ i)
# 并用num除以i的商,作为新的正整数num,重复执行第一步
if num ==1:
# 无法再分解 将本身的数打印
print("%d" %i)
else:
#num不能被i整除,则用i+1作为i的值,重复执行第一步
print("%d*" %i,end="")
break
相似题目练习:
求1-100以内的质数,并输出所有质数
大家可以尝试自己练习写一写