Exercise 16: Find All Prime Numbers up to N

Problem Statement

Create a function `primesUpTo(n)` that returns all prime numbers up to n. Example: primesUpTo(10) → [2, 3, 5, 7]

Sample Output:

primesUpTo(10) => [2, 3, 5, 7]
primesUpTo(20) => [2, 3, 5, 7, 11, 13, 17, 19]

Solution

const primesUpTo = (n) => {
  const num = Math.floor(Number(n));
  if (num < 2) return [];
  const primes = [];
  for (let i = 2; i <= num; i++) {
    let isPrime = true;
    for (let j = 2; j <= Math.sqrt(i); j++) {
      if (i % j === 0) { isPrime = false; break; }
    }
    if (isPrime) primes.push(i);
  }
  return primes;
};

Explanation

Overall Goal:

  • N tak ke sabhi prime numbers find karna.

Line 1: Function header

  • const primesUpTo = (n) => {

Line 2: Normalize

  • const num = Math.floor(Number(n));

Line 3: Edge case

  • if (num < 2) return [];

Line 4: Result array

  • const primes = [];

Line 5-10: Check each number

  • Nested loop se prime check.

Real world:

  • Math problems: prime generation.
  • Cryptography: prime number generation.