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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM