Correct the prime check algorithm
There are no prime numbers smaller than 2 and numbers greater than and divisible by 2 are not prime.
This commit is contained in:
parent
5d77b086a4
commit
2f62929c1d
@ -21,6 +21,12 @@ public class PrimeCheck {
|
|||||||
* @return {@code true} if {@code n} is prime
|
* @return {@code true} if {@code n} is prime
|
||||||
*/
|
*/
|
||||||
public static boolean isPrime(int n) {
|
public static boolean isPrime(int n) {
|
||||||
|
if (n == 2) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (n < 2 || n % 2 == 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
for (int i = 3; i <= Math.sqrt(n); i += 2) {
|
for (int i = 3; i <= Math.sqrt(n); i += 2) {
|
||||||
if (n % i == 0) {
|
if (n % i == 0) {
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user