总理检查
请注意,根据定义,1 不是素数。要检查数字 n 是否是素数,我们应该尝试找到 n 的除数 i。如果我们不能,那么 n 是一个素数。当 n % i == 0 评估为真时,我们发现了一个除数。我们只需要尝试奇数,因为只有一个偶数素数,即 2,我们将其视为特殊情况。另外,只有包含 sqrt(n) 的数字才是可能的除数,因为当 n = a * b 时,至少有一个因子最多是 sqrt(n)。
要检查数字是否为素数,可以使用以下算法:
boolean isPrime (int n) {
if (n < 2) {
return false;
}
if (n % 2 == 0) {
return n == 2;
}
for (int i = 3; i*i <= n; i += 2) {
if (n % i == 0) {
return false;
}
}
return true ;
}