質因數分解

輸入一個正整數,進行質因數分解。

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:麻鼠揪麻將

 


arrow
arrow

    元元不絕 發表在 痞客邦 留言(0) 人氣()