題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。
程序分析:對n進行分解質因數,應先p找到一個最小的質數k,然后按下述步驟完成:
(1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。
(2)如果n<>k,但n能被k整除,則應打印出k的值,並用n除以k的商,作為新的正整數n,重復執行第一步。
(3)如果n不能被k整除,則用k+1作為k的值,重復執行第一步。
package Studytest; public class Prog4 { public static void main(String [] args){ int n=900; decompose(n); } //因數分解函數
private static void decompose(int n) { System.out.print(n+"="); for(int i=2;i<=n;i++) { while (n%i==0&&n!=i) { n/=i; System.out.print(i+"*"); } if(n==i){ System.out.print(i); break; } } } }
運行結果: