Exercise 9: Check if Number is Prime
Problem Statement
Create a function `isPrime(n)` that checks if a number is prime.
Example:
- isPrime(7) → true
- isPrime(10) → false
Sample Output:
isPrime(7) => true isPrime(10) => false isPrime(2) => true isPrime(1) => false
Solution
const isPrime = (n) => {
const num = Math.abs(Number(n));
if (!Number.isInteger(num) || num < 2) return false;
if (num === 2) return true;
if (num % 2 === 0) return false;
for (let i = 3; i <= Math.sqrt(num); i += 2) {
if (num % i === 0) return false;
}
return true;
};Explanation
Overall Goal:
- Check karna ki number prime hai (sirf 1 aur khud se divisible).
- Efficient algorithm use karna.
Line 1: Function header
const isPrime = (n) => {
Line 2: Normalize number
const num = Math.abs(Number(n));- Negative numbers ko positive me convert.
Line 3: Edge cases
if (!Number.isInteger(num) || num < 2) return false;- Non-integers ya 2 se chhote numbers prime nahi hote.
Line 4: Special case
if (num === 2) return true;- 2 is the only even prime number.
Line 5: Even check
if (num % 2 === 0) return false;- 2 ke alawa koi bhi even number prime nahi.
Line 6: Check divisors
for (let i = 3; i <= Math.sqrt(num); i += 2)Math.sqrt(num)→ square root tak check karna sufficient hai.i += 2→ sirf odd numbers check (even already filtered).
Line 7: Divisibility check
if (num % i === 0) return false;- Agar divisible hai to prime nahi.
Real world:
- Cryptography: prime numbers encryption me use hote hain.
- Algorithm problems: competitive programming.
- Security: RSA encryption keys generation.