boolean isPrime(int n) {
if (n < 2)
return false;
return isPrime(n, 2);
}
private boolean isPrime(int n, int i) {
if (i == n)
return true;
return (n % i == 0) ? false : isPrime(n, i + 1);
}
二:
boolean isPrime(int n) {
if (n < 0) n = -n;
if (n < 2) return false;
if (n == 2) return true;
if (n % 2 == 0) return false;
return rec_isPrime(n, 3);
}
boolean rec_isPrime(int n, int div) {
if (div * div > n) return true;
if (n % div == 0) return false;
return rec_isPrime(n, div + 2);
}
請解釋爲什麼是第二個解決方案比第一批好。我在考試中提供了第一個解決方案,並且在解決方案效率不高的情況下,我的答案得到了回覆。我想知道什麼是大differene
第二站停在n的平方根處。 – uselpa
此外,它只測試奇數除數(2除外)。 – uselpa