Pnumber 是正整数
sign作为一个标记,标志着递归运行的次数,
private static void testPrimeFactor(int Pnumber,int sign) {
// 先判断这个数是否是质数 2 3 5 7 或不能被这几个数整除
if(Pnumber/10==0 && (Pnumber==2 || Pnumber==3 || Pnumber==5 || Pnumber==7)){ //这个数是个位数
System.out.print(Pnumber);
}else{//超过个位数
int num = Pnumber % 2 == 0 ? 2 : Pnumber % 3==0 ? 3 : Pnumber % 5==0 ? 5 : Pnumber % 7==0 ? 7 : 0;
String s=num!=0?(num+""):"";
System.out.print(sign==1?(Pnumber+"="+s+"*"):(s+"*"));
testPrimeFactor(Pnumber/Integer.parseInt(s),++sign);
}
测试:

运行结果:
