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.