Coding Challenge Practice - Question 68
Source: Dev.to
Problem Statement
Implement a function isPrime(num) that returns true if the given number is a prime number and false otherwise.
Approach
Handle edge cases
- Numbers less than or equal to 1 are not prime.
2is the only even prime number.- Any other even number greater than 2 cannot be prime.
Check odd divisors
For odd numbers greater than 2, test divisibility by odd integers starting from 3 up to the square root of the number.
- If any divisor divides the number evenly, the number is not prime.
- If none do, the number is prime.
Code
function isPrime(num) {
// Edge cases
if (num <= 1) return false; // 0, 1, and negatives are not prime
if (num === 2) return true; // 2 is the only even prime
if (num % 2 === 0) return false; // other even numbers are not prime
// Check odd divisors up to sqrt(num)
const limit = Math.sqrt(num);
for (let i = 3; i <= limit; i++) {
if (num % i === 0) return false;
}
return true;
}