高效判断是否为素数
在大于4的所有整数中,都可以将其表示为
6n-1,6n,6n+1,6n+2,6n+3,6n+4;
分析如下:
6n 与 6n+2 与 6n+4 都可以被2整除所以不可能是素数
那么素数只能出现在6n-1与6n+1中
int judge_prime(int n){
if(n==1 || n==4)
return false;
if(n==2 || n==3)
return true;
if(n%6!=1 || n%6!=5)
return false;
for(int i=5;i*i<n;i+=6){
if(n%i==0 || n%(i+2))
return false;
}
return true;
}