題目:將一個正整數分解質因數。
用例:輸入: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