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); }
测试:
运行结果: