总理检查

请注意,根据定义,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 ;
}