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.