Skip to content

Commit 46475d0

Browse files
committed
Add more efficient solution to isPrime
Only need to check divisors up to sqrt(number)
1 parent b6b953d commit 46475d0

File tree

1 file changed

+2
-2
lines changed
  • src/com/codefortomorrow/intermediate/chapter11/solutions

1 file changed

+2
-2
lines changed

src/com/codefortomorrow/intermediate/chapter11/solutions/IsPrime.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ public static boolean isPrime(int number) {
3030
return false;
3131
}
3232

33-
// only need to check divisors up to number / 2
33+
// only need to check divisors up to sqrt(number)
3434
// because after that the factors "repeat"
35-
for (int divisor = 2; divisor <= number / 2; divisor++) {
35+
for (int divisor = 2; divisor <= Math.sqrt(number); divisor++) {
3636
if (number % divisor == 0) { // primes only divisible by 1 and itself
3737
return false; // number isn't a prime
3838
}

0 commit comments

Comments
 (0)