1 package test; 2 3 import java.util.Scanner; 4 5 public class Test19 { 6 /** 7 * 分析:對n進行分解質因數,應先找到一個最小的質數k 8 9 * 最小的質數:即“2”。2是最小的質數,即是偶數又是質數,然後按下述步驟完成: 10 11 *(1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。 12 13 *(2)如果n>k,但n能被k整除,則應打印出k的值,並用n除以k的商,作為新的正整數你n,重復執行第一步。 14 15 *(3)如果n不能被k整除,則用k+1作為k的值,重復執行第一步。 16 * 17 * @param 想想 18 */ 19 public static void main(String []args){ 20 Scanner s=new Scanner(System.in); 21 System.out.println("鍵入一個正整數:"); 22 int n=s.nextInt(); 23 int k=2; //定義一個最小的質因數 24 System.out.print(n+"="); 25 while (k<=n){ //進行循環判斷 26 if(k==n){ 27 System.out.print(n); 28 break; 29 }else if (n%k==0){ 30 System.out.print(k+"*"); 31 n=n/k; 32 }else k++; 33 } 34 } 35 }