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