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 }