輸入一個正整數,進行質因數分解。
JAVA程式碼
public class Ch04 {
public static void main(String[] args) {
System.out.print("輸入一個正整數:");
Scanner sc=new Scanner(System.in); //接收輸入的整數
int input=sc.nextInt();
System.out.print(input+"="); //顯示"輸入的整數="
for (int i = 2; i <= input; i++) { //i為除數
while(input%i==0&&input!=i) {
input=input/i;
System.out.print(i+"*");
}
if(input==i){
System.out.print(i);
break;
}
}
sc.close(); //關掉Scanner
}
}
▼ 程式執行結果
解析
for (int i = 2; i <= input; i++) { //i為除數
while(input%i==0&&input!=i) {
input=input/i;
System.out.print(i+"*");
}
if(input==i){
System.out.print(i);
break;
}
}
1、寫一個while loop,除數i,範圍由2到input(輸入的整數)。只要input可以整除i(餘數為0),那麼i就是input的因數,顯示i * 後執行下一步驟。
2、當input = i 的時候,也就是沒有其他質因數可以分解的時候,顯示i就好。
質因數分解是適合練習while loop的題目,因為一個正整數可能有很多相同的質因數,例如:32=2*2*2*2*2,假如遇到這種情況,我們就必須不斷的除以2,直到條件為false時才離開迴圈。
while 迴圈:當while裡面的條件是true的時候,就繼續執行while迴圈,一直執行到while裡面的條件是false時,再跳出迴圈進行下一步驟。
關於我
◎ 作者介紹|小元仔藥師與元元不絕部落格
◎ 其他連結|FB粉絲團、追蹤IG:麻鼠揪麻將