Check a Number is Prime or Not Using JavaScript (original) (raw)

Last Updated : 16 Apr, 2025

A prime number is a whole number greater than 1, which has no positive divisors other than 1 and itself. In other words, prime numbers cannot be formed by multiplying two smaller natural numbers. For example:

Why Checking for Prime Numbers is Important

Prime numbers have applications in various fields, including:

Here are the different ways to check whether a number is Prime or not.

1. Iterative Check: Basic Approach

This is the simplest way to check for prime numbers by iterating through all numbers from 2 to n-1 and checking divisibility.

JavaScript ``

let n = 17; let isPrime = true;

if (n <= 1) { isPrime = false; } else { for (let i = 2; i < n; i++) { if (n % i === 0) { isPrime = false; break; } } }

console.log(isPrime ? ${n} is a prime number. : ${n} is not a prime number.);

``

2. Iterative Check: Optimized Approach

This method is more efficient because we only need to check for divisibility up to the square root of the number (sqrt(n)). This reduces unnecessary checks.

JavaScript ``

let n = 17; let isPrime = true;

if (n <= 1) { isPrime = false; } else { for (let i = 2; i * i <= n; i++) { if (n % i === 0) { isPrime = false; break; } } }

console.log(isPrime ? ${n} is a prime number. : ${n} is not a prime number.);

``

3. Checking Multiple Numbers in an Array

If you want to check many numbers at once, this method loops through an array and stores the result for each number.

JavaScript `

let a = [3, 4, 5, 16, 17, 18]; let obj = {}; for (let n of a) { let isPrime = true; if (n <= 1) { isPrime = false; } else { for (let i = 2; i * i <= n; i++) { if (n % i === 0) { isPrime = false; break; } } } obj[n] = isPrime; } console.log(obj);

`

4. Using Sieve of Eratosthenes Algorithm

The Sieve of Eratosthenes is the most efficient way to check for prime numbers up to a maximum value by marking non-prime numbers in bulk.

JavaScript `

let max = 20; // Maximum number to check let a = new Array(max + 1).fill(true); a[0] = a[1] = false;

for (let i = 2; i * i <= max; i++) { if (a[i]) { for (let j = i * i; j <= max; j += i) { a[j] = false; } } }

let obj = {}; for (let i = 0; i <= max; i++) { obj[i] = a[i]; }

console.log(obj);

`

5. Bitwise Optimization Approach

This approach avoids checking even numbers beyond 2 and uses step increments to skip unnecessary iterations.

JavaScript ``

let n = 19; let isPrime = n > 1 && !(n % 2 === 0 && n !== 2);

for (let i = 3; i * i <= n && isPrime; i += 2) { if (n % i === 0) { isPrime = false; } }

console.log(isPrime ? ${n} is a prime number. : ${n} is not a prime number.);

``

6. Recursion-Based Prime Check

A recursive approach uses a recursive function that keeps checking for divisibility by increasing divisors until it reaches the square root of the number.

JavaScript ``

let n = 13; let isPrime = true;

function check(num, divisor = 2) { if (num <= 1) return false; if (divisor * divisor > num) return true; if (num % divisor === 0) return false; return check(num, divisor + 1); }

isPrime = check(n); console.log(isPrime ? ${n} is a prime number. : ${n} is not a prime number.);

``

Conclusion

To check if a number is prime, you can use different methods, such as checking divisibility up to the square root for efficiency or using the Sieve of Eratosthenes for multiple numbers. The optimized square root method is usually the best balance between simplicity and performance.