想了解更多算法题,可以关注微信公众号“数据结构和算法”,每天一题为你精彩解答。也可以扫描下面的二维码关注
java 判断一个数是否是素数详解_微信公众号

1,素数是指在大于1的自然数中,除了1和他本身以外不再有其他因数的自然数

public static boolean isPrime(long x) {
if (x < 2)
return false;
if (x == 2)
return true;
if ((x & 1) == 0)
return false;
final int max = (int) Math.sqrt(x);
for (int i = 3; i <= max; i += 2) {
if ((x % i) == 0) {
return false;
}
}
return true;
}

第6-7行是过滤掉偶数,因为偶数除了2都不是素数。