杂-关于素数

大于5的素数总是围绕着6,一定满足6*i-1或6*i+1;但满足6*i-1或6*i+1的数不一定是素数。

判断的时候每步的跨数为6。

int judg(int a) {
        int tmp=(int) Math.sqrt(a);
        if(a==1)
            return 0;
        if(a==2 || a==3)
            return 1;
        if(a%6!=1 &&a%6!=5)
            return 0;
        for(int i=5;i<=tmp;i+=6) {
            if(a%i==0||a%(i+2)==0)
                return 0;
        }
        return 1;
    }

猜你喜欢

转载自www.cnblogs.com/liuzey/p/8954757.html