總理檢查

請注意,根據定義,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 ;
}