java程序題:將一個正整數分解質因數

將一個正整數分解質因數。

例如:輸入90,打印出90=2*3*3*5。  

程序分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成:
(1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。  
(2)如果n <> k,但n能被k整除,則應打印出k的值,並用n除以k的商,作爲新的正整數你n,重複執行第一步。  
(3)如果n不能被k整除,則用k+1作爲k的值,重複執行第一步。 

import java.util.*;
public     class     lianxi04{
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.print( "請鍵入一個正整數:     ");
        int    n    = s.nextInt();
        int k=2;
        System.out.print(n + "=" );
        while(k <= n) {
          if(k == n) {System.out.println(n);break;}
            else if( n % k == 0) {System.out.print(k + "*");n = n / k; }
                    else    k++;
                   }
     }
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章