求一個整數質因數問題

public  class T {
	/**
	 * 求一個整數的質因數伺機,列如45=3*3*5
	 * 1 定義變量n和k,n表明整數,k表明質因數(從2開始)
	 * 2使用n%k=0獲得質因數k,使用k++尋找質因數
	 */
	public static void main(String[] agrs){
		Scanner sca=new Scanner(System.in);
		System.out.println("請輸入一個正整數");
		int n=sca.nextInt();
		int k=2;
		while(n>=k){
				if(n<=k){	
					//用於最後一個質因數輸出
					System.out.println(k);
					break;
				}else if(n%k==0){
					System.out.println(k+"*");
					n=n/k;					
				}else {
					k++;
				}		
		}		
	}
}
相關文章
相關標籤/搜索