整数分解质因数

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);
        }

测试:  

运行结果:

猜你喜欢

转载自www.cnblogs.com/jincheng81/p/12591340.html