More efficient isPrime() method

This commit is contained in:
Rodney Shaghoulian
2018-02-19 21:59:54 -08:00
parent 7f21f33bb5
commit bf26fc664d
4 changed files with 31 additions and 13 deletions
+6 -2
View File
@@ -24,15 +24,19 @@ class Prime {
boolean isPrime(int n) {
if (n < 2) {
return false;
} else if (n == 2) { // account for even numbers now, so that we can do i+=2 in loop below
return true;
} else if (n % 2 == 0) { // account for even numbers now, so that we can do i+=2 in loop below
return false;
}
int sqrt = (int) Math.sqrt(n);
for (int i = 2; i <= sqrt; i++) {
for (int i = 3; i <= sqrt; i += 2) { // skips even numbers for faster results
if (n % i == 0) {
return false;
}
}
return true;
}
}
}
public class Solution {