Program to find Prime Numbers Between given Interval

22 Feb, 2022
Given two numbers  a and b as interval range, the task is to find the prime numbers in between this interval.
Examples: 
Input : a = 1, b = 10
Output : 2, 3, 5, 7

Input : a = 10, b = 20
Output : 11, 13, 17, 19
In the below program, the range of numbers is taken as input and stored in the variables ‘a’ and ‘b’. Then using for-loop, the numbers between the interval of a and b are traversed. For each number in the for loop, it is checked if this number is prime or not. If found prime, print the number. Then the next number in the loop is checked, till all numbers are checked.
Program: 
C++
C
Java
Python3
C#
Javascript
// C++ program to find the prime numbers// between a given interval #include <bits/stdc++.h>using namespace std; int main(){    // Declare the variables    int a, b, i, j, flag;     // Ask user to enter lower value of interval    cout << "Enter lower bound of the interval: ";    cin >> a; // Take input     // Ask user to enter upper value of interval    cout << "\nEnter upper bound of the interval: ";    cin >> b; // Take input     // Print display message    cout << "\nPrime numbers between "         << a << " and " << b << " are: ";     // Traverse each number in the interval    // with the help of for loop    for (i = a; i <= b; i++) {        // Skip 0 and 1 as they are        // neither prime nor composite        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)            cout << i << " ";    }     return 0;} // This code is contributed by Akanksha Rai
// C program to find the prime numbers// between a given interval #include <stdio.h> int main(){    // Declare the variables    int a, b, i, j, flag;     // Ask user to enter lower value of interval    printf("Enter lower bound of the interval: ");    scanf("%d", &a); // Take input     // Ask user to enter upper value of interval    printf("\nEnter upper bound of the interval: ");    scanf("%d", &b); // Take input     // Print display message    printf("\nPrime numbers between %d and %d are: ", a, b);     // Traverse each number in the interval    // with the help of for loop    for (i = a; i <= b; i++) {        // Skip 0 and 1 as they are        // neither prime nor composite        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)            printf("%d ", i);    }     return 0;}
import java.util.Scanner; // Java program to find the prime numbers// between a given intervalpublic class GFG {     // driver code    public static void main(String[] args)    {        Scanner sc = new Scanner(System.in);        // Declare the variables        int a, b, i, j, flag;         // Ask user to enter lower value of interval        System.out.printf("Enter lower bound of the interval: ");        a = sc.nextInt(); // Take input         // Ask user to enter upper value of interval        System.out.printf("\nEnter upper bound of the interval: ");        b = sc.nextInt(); // Take input         // Print display message        System.out.printf("\nPrime numbers between %d and %d are: ", a, b);         // Traverse each number in the interval        // with the help of for loop        for (i = a; i <= b; i++) {             // Skip 0 and 1 as they are            // neither prime nor composite            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)                System.out.println(i);        }    }}
# Python3 program to find the prime# numbers between a given interval if __name__ == '__main__':         # Declare the variables    a, b, i, j, flag = 0, 0, 0, 0, 0     # Ask user to enter lower value of interval    print("Enter lower bound of the interval:",                                      end = "")    a = int(input()) # Take input    print(a)         # Ask user to enter upper value of interval    print("Enter upper bound of the interval:",                                      end = "")    b = int(input()) # Take input    print(b)         # Print display message    print("Prime numbers between", a, "and",                        b, "are:", end = "")     # Traverse each number in the interval    # with the help of for loop    for i in range(a, b + 1):         # Skip 1 as1 is neither        # prime nor composite        if (i == 1):            continue         # flag variable to tell        # if i is prime or not        flag = 1                 for j in range(2, i // 2 + 1):            if (i % j == 0):                flag = 0                break                     # flag = 1 means i is prime        # and flag = 0 means i is not prime        if (flag == 1):            print(i, end = " ")             # This code is contributed# by Mohit kumar 29
// C# program to find the prime numbers// between a given intervalusing System; class GFG{ // Driver code   public static void Main(string[] args){         // Declare the variables    int a, b, i, j, flag;     // Ask user to enter lower value of interval    Console.WriteLine("Enter lower bound of " +                      "the interval: ");                           // Take input    a = int.Parse(Console.ReadLine());     // Ask user to enter upper value of interval    Console.WriteLine("\nEnter upper bound " +                      "of the interval: ");                           // Take input    b = int.Parse(Console.ReadLine());     // Print display message    Console.WriteLine("\nPrime numbers between " +                       "{0} and {1} are: ", a, b);     // Traverse each number in the interval    // with the help of for loop    for(i = a; i <= b; i++)    {                 // Skip 0 and 1 as they are        // neither prime nor composite        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.WriteLine(i);    }}} // This code is contributed by jana_sayantan
<script> // JavaScript program to find the prime numbers// between a given interval // driver code    // Declare the variables    let a, b, i, j, flag;     // Ask user to enter lower value of interval and take input    a = window.prompt("Enter lower bound of the interval: ");     // Ask user to enter upper value of interval and take input    b = window.prompt("Enter upper bound of the interval: ");     // Print display message    console.log("Prime numbers between " + a + " and " + b << " are: ");     // Traverse each number in the interval    // with the help of for loop    for (i = a; i <= b; i++) {        // Skip 0 and 1 as they are        // neither prime nor composite        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)            document.write(i," ");    } // This code is contributed by shinjanpatra </script>
Output:  
Enter lower bound of the interval: 1
Enter upper bound of the interval: 10
Prime numbers between 1 and 10 are: 2 3 5 7 
Optimized Solution : The idea is to use the fact that even numbers (except 2) are not primes.
C++
Java
Python3
C#
Javascript
// C++ program to find the prime numbers// between a given interval #include <bits/stdc++.h>using namespace std; int main(){    // Declare the variables    int a, b, i, j;     // Ask user to enter lower value of interval please not    // interval < 0 cannot be prime numbers    cout << "Enter lower bound of the interval: ";    cin >> a; // Take input     // Ask user to enter upper value of interval    cout << "\nEnter upper bound of the interval: ";    cin >> b; // Take input     // Print display message    cout << "\nPrime numbers between " << a << " and " << b         << " are: ";     // Explicitly handling the cases when a is less than 2    // since 0 and 1 are not prime numbers    if (a <= 2) {        a = 2;        if (b >= 2) {            cout << a << " ";            a++;        }    }     // MAKING 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        bool flag = 1;         // WE TRAVERSE TILL SQUARE ROOT OF j only.        // (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            cout << i << " ";        }    }     return 0;}
import java.util.*; public class PrimeNumbersInRange {     // function which checks whether a number is Prime or Not    // If the number is prime, it returns true. Else, it returns false.    public static boolean isPrime(int n) {        // 0 and 1 are neither prime nor composite numbers        if (n == 0 || n == 1) {            return false;        }        // 2 is a prime number        if (n == 2) {            return true;        }        // every composite number has a prime factor        // less than or equal to its square root.        for (int i = 2; i * i <= n; i++) {            if (n % i == 0) {                return false;            }        }        return true;     }     // Driver code    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);         // Ask user to enter lower value of interval        System.out.print("Enter lower bound of the interval: ");        int lower = sc.nextInt(); // Take input         // Ask user to enter upper value of interval        System.out.print("\nEnter upper bound of the interval: ");        int upper = sc.nextInt(); // Take input         // Print display message        System.out.printf("\nPrime numbers between %d and %d are: ", lower, upper);         for (int i = lower; i <= upper; i++) {            if (isPrime(i)) {                System.out.print(i + " ");            }        }        sc.close();    }}
# Python3 program to find the prime# numbers between a given interval  if __name__ == '__main__':         # Declare the variables    a, b, i, j = 0, 0, 0, 0         # Ask user to enter lower value of interval    print("Enter lower bound of the interval:",end = "")         a = int(input()) # Take input    print(a)         # Ask user to enter upper value of interval    print("Enter upper bound of the interval:",end = "")         b = int(input()) # Take input    print(b)         # Print display message    print("Prime numbers between", a, "and",b, "are:", end = "")              # Explicitly handling the cases when a is less than 2    if (a == 1):        print(a,end=" ")        a+=1        if (b >= 2):            print(a,end=" ")            a+=1    if (a == 2):        print(a,end=" ")         # MAKING SURE THAT a IS ODD BEFORE WE BEGIN    # THE LOOP    if (a % 2 == 0):        a+=1    # NOTE : WE TRAVERSE THROUGH ODD NUMBERS ONLY    for i in range(a,b+1,2):                 # flag variable to tell        # if i is prime or not        flag = 1        # WE TRAVERSE TILL SQUARE ROOT OF j only.        # (LARGEST POSSIBLE VALUE OF A PRIME FACTOR)        j = 2        while(j * j <= i):            if (i % j == 0):                flag = 0                break            j+=1                 # flag = 1 means i is prime        # and flag = 0 means i is not prime        if (flag == 1):            print(i,end=" ") # This code is contributed by shubhamsingh10
// C# program to find the prime numbers// between a given intervalusing System;class GFG{  // Driver code  static public void Main()  {     // Declare the variables    int a, b, i, j, flag;     // Ask user to enter lower value of interval    Console.Write(      "Enter lower bound of the interval: ");    a = Convert.ToInt32(      Console.ReadLine()); // Take input     // Ask user to enter upper value of interval    Console.Write(      "\nEnter upper bound of the interval: ");    b = Convert.ToInt32(      Console.ReadLine()); // Take input     // Print display message    Console.Write("\nPrime numbers between " + a                  + " and " + b + " are: ");     // Explicitly handling the cases when a is less than    // 2    if (a == 1)    {      Console.Write(a + " ");      a++;      if (b >= 2)      {        Console.Write(a + " ");        a++;      }    }    if (a == 2)    {      Console.Write(a + " ");    }     // MAKING 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      flag = 1;       // WE TRAVERSE TILL SQUARE ROOT OF j only.      // (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)      {        Console.Write(i + " ");      }    }  }} // This code is contributed by rag2127
<script> // JavaScript program to find the prime numbers// between a given interval // driver code    // Declare the variables    let a, b, i, j;     // Ask user to enter lower value of interval and take input    a = window.prompt("Enter lower bound of the interval: ");     // Ask user to enter upper value of interval and take input    b = window.prompt("Enter upper bound of the interval: ");     // Print display message    console.log("Prime numbers between " + a + " and " + b << " are: ");     // Explicitly handling the cases when a is less than 2    // since 0 and 1 are not prime numbers    if (a <= 2)    {        a = 2;        if (b >= 2)        {            document.write(a," ");            a++;        }    }     // MAKING 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;         // WE TRAVERSE TILL SQUARE ROOT OF j only.        // (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            document.write(i, " ");        }    } // This code is contributed by shinjanpatra</script>
Output:  
Enter lower bound of the interval: 1

Enter upper bound of the interval: 10

Prime numbers between 1 and 10 are: 2 3 5 7
29AjayKumar
mohit kumar 29
Code_r
Akanksha_Rai
lovishgupta0717
shivanisinghss2110
SHUBHAMSINGH10
jana_sayantan
rikumar
rag2127
gabaa406
ruhelaa48
abhigwalani
valpasanisandeep
shinjanpatra
Prime Number
school-programming
Technical Scripter 2018
C Programs
Prime Number
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
C Program to read contents of Whole File
C++ Program to check Prime Number
Producer Consumer Problem in C
C Program to Swap two Numbers
How to Append a Character to a String in C
C program to sort an array in ascending order
Set, Clear and Toggle a given bit of a number in C
time() function in C
unsigned char in C with Examples
Pointer Arithmetics in C with Examples