python练习题——将正整数分解质因数
题目:将一个正整数分解质因数。
用例:输入:90
输出:90=2*3*3*5
程序分析:
1、对n进行分解因数,应该先找到一个最小的质数m
2、如果该质数m等于n,那么循环结束
3、如果该质数m小于n,那么将n/m作为新n,再找到新n的最小质数新m……
4、如果循环过程中n不能被m整除,那么令m=m+1,重复
代码:
1 num = int(input("输入一个数:")) 2 #因为输出格式中不存在空格,所以我把打印分开写了 3 print(num, end='') 4 print('=', end='') 5 i = 1 6 #用for循环的话是不能改变循环次数的,如果要改变循环次数的话最好用while。 7 while i <= num + 1: 8 #通过判断余数是否为0,得出是否能整除 9 mid = num % i 10 if mid == 0: 11 print(i, end='') 12 #python经过除法后默认把类型转为浮点,所以为了保险,强制类型转换为int 13 num = int(num / i) 14 i = 1 15 #为了控制输出的乘号,加了一个判断条件,当num为1时说明没有质子了 16 if num != 1: 17 print('*', end='') 18 i += 1