java經典題丨將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5
阿新 • • 發佈:2018-11-19
程式分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成:
(1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。
(2)如果n > k,但n能被k整除,則應打印出k的值,並用n除以k的商,作為新的正整數你n,重複執行第一步。
(3)如果n不能被k整除,則用k+1作為k的值,重複執行第一步。
在題意分析清楚之後,你要思考的就是這個題可以用什麼知識點完成,怎麼書寫,然後在去寫程式碼,如果這些弄不清楚,邏輯判斷不準確,就無從下手,這是這幾天犯的最大的問題
public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("請輸入數字:"); int n = sc.nextInt(); System.out.print(n+"="); // 進行前半部分的列印 // 做出判斷迴圈 for(int k=2;k<=n;k++) { while(n!=k) { if(n%k==0) { System.out.print(k+"*"); n=n/k; }else{ break; } } } System.out.println(n); // 表示打印出的是最後一個數 }