Wednesday, July 3, 2024
HomeLanguagesJavascriptJavaScript Program to Print All Prime Numbers in an Interval

JavaScript Program to Print All Prime Numbers in an Interval

In this article, we will explore a JavaScript program to find and print all prime numbers within a given range. A prime number is a natural number greater than 1, which is only divisible by 1 and itself. The first few prime numbers are 2 3 5 7 11 13 17 19 23…, The program efficiently identifies and displays prime numbers within the specified range.

Primenumbers

prime numbers

There are several methods that can be used to Print All Prime Numbers in an Interval.

  • Using Trial Division Method
  • Optimized Solution
  • Using the Sieve of Eratosthenes” algorithm

We will explore all the above methods along with their basic implementation with the help of examples.

Approach 1: Using the Trial Division Method in JavaScript

In this approach, we will check divisibility for each number in the interval. In the below program, the range of numbers is taken as input and stored in the variables ‘a’ and ‘b’. Then using a for-loop, the numbers between the interval of a and b are traversed.

Example:

Javascript




let a, b, i, j, flag;
  
a = 2
b = 11
for (i = a; i <= b; i++) {
    if (i == 1 || i == 0)
        continue;
  
    // flag variable to tell
    // if i is prime or not
    flag = 1;
  
    for (j = 2; j <= i / 2; ++j) {
        if (i % j == 0) {
            flag = 0;
            break;
        }
    }
  
    // flag = 1 means i is prime
    // and flag = 0 means i is not prime
    if (flag == 1)
        console.log(i);
}


Output

2
3
5
7
11

Time Complexity: O(N2), Where N is the difference between the range
Auxiliary Space: O(1)

Approach 3: Using Optimised Solution

In this approach, we will use the fact that even numbers (except 2) cannot be prime can significantly optimize the process of finding prime numbers within a specified interval.

Example:

Javascript




let a, b, i, j;
a = 5;
b = 27;
if (a <= 2) {
    a = 2;
    if (b >= 2) {
        console.log(a);
        a++;
    }
}
  
// Make sure that a is odd before
// we begin the loop
if (a % 2 == 0)
    a++;
  
// Note: We traverse through odd numbers only
for (i = a; i <= b; i = i + 2) {
  
    // flag variable to tell
    // if i is prime or not
    let flag = 1;
  
    // Traverse till square root of j
    // (Largest possible value of a prime factor)
    for (j = 2; j * j <= i; ++j) {
        if (i % j == 0) {
            flag = 0;
            break;
        }
    }
  
    // flag = 1 means i is prime
    // and flag = 0 means i is not prime
  
    if (flag == 1) {
        if (i == 1) continue;
        else
            console.log(i);
    }
}


Output

5
7
11
13
17
19
23

Time Complexity: O(N*sqrt(N)), Where N is the difference between the range
Auxiliary Space: O(1)

Approach 2: Using the Optimized Sieve of Eratosthenes Algorithm

The Sieve of Eratosthenes is an efficient algorithm to find all prime numbers up to a given number by eliminating multiples of each prime iteratively.

Example: In this example we are using the optimized Sieve of Eratosthenes algorithm to find and print prime numbers within the user-provided interval, efficiently identifying primes and displaying them.

Javascript




function sieveOfEratosthenesOptimized(start, end) {
    const primes = new Array(end + 1).fill(true);
    primes[0] = primes[1] = false;
  
    for (let i = 2; i * i <= end; i++) {
        if (primes[i]) {
            for (let j = i * i; j <= end; j += i) {
                primes[j] = false;
            }
        }
    }
  
    for (let i = Math.max(2, start); i <= end; i++) {
        if (primes[i]) console.log(i);
    }
}
  
// Take input from the user using prompt
const startInterval = 10;
const endInterval = 20;
  
// Execute the function with user-provided interval
console.log("Prime numbers between", startInterval,
    "and", endInterval,
    "(Sieve of Eratosthenes - Optimized):");
sieveOfEratosthenesOptimized(startInterval, endInterval);


Output

Prime numbers between 10 and 20 (Sieve of Eratosthenes - Optimized):
11
13
17
19

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

Thapelo Manthata
I’m a desktop support specialist transitioning into a SharePoint developer role by day and Software Engineering student by night. My superpowers include customer service, coding, the Microsoft office 365 suite including SharePoint and power platform.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments