杂-关于素数

大于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;
    }

 

posted @ 2018-04-26 20:05  超级猿  阅读(104)  评论(0编辑  收藏  举报