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