首先,我们知道:
对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成:
a)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
b) 如果n不等于i,i能被n整除,则应打印出i的值,并用n除以i的商,作为新的正整数n,重复执行第一步。
package com.moon;import java.util.Scanner;public class Divide{public static void main(String[] args){Scanner a=new Scanner(System.in);System.out.println("请输入一个正整数(大于1)");int b=a.nextInt();suShu(b);System.out.println();}public static void suShu(int b){int w=0;F1:for(int i=2;i<b;i++){if(b%i==0){w++;}}if(w==0){System.out.print("你输入的数是素数");} if(b!=2){System.out.print(b+"=");fenJie(b);}else{System.out.print("你输入的数是素数");}}public static void fenJie(int b){F1:for(int i=2;i<=b;i++){if(b%i==0&&b!=i){System.out.print(i+"*");b=b/i;i=1;fenJie(b);break;}else if(b==i){System.out.print(i);}}}}
输出结果: