public static boolean is_prime(int num){
if (num<4)
return num>1;
if (num % 6 != 1 && num % 6 != 5)//质数 6n+1 或 6n-1(同6n+5)(n为自然数)
return false;
int sq=(int)Math.sqrt(num);//因数不超过sqrt(num)
for (int i=5;i<=sq;i+=6)//过滤 (6n+1)*(6n-1)
if (num%i==0 ||num%(i+2)==0)
return false;
return true;
}