C++ Program to Display Prime Numbers Between Two Intervals

To understand this example, you should have the knowledge of the following C++ programming topics:


Example 1: Display Prime Numbers Between two Intervals

#include <iostream>
using namespace std;

int main() {

  int low, high, i;
  bool is_prime = true;

  cout << "Enter two numbers (intervals): ";
  cin >> low >> high;

  cout << "\nPrime numbers between " << low << " and " << high << " are: " << endl;

  while (low < high) {
    is_prime = true;

    // 0 and 1 are not prime numbers
    if (low == 0 || low == 1) {
      is_prime = false;
    }
 
    for (i = 2; i <= low/2; ++i) {
      if (low % i == 0) {
        is_prime = false;
        break;
      }
    }
        
    if (is_prime)
      cout << low << ", ";

    ++low;
  }

  return 0;
}

Output

Enter two numbers (intervals): 0
20
Prime numbers between 0 and 20 are: 
2, 3, 5, 7, 11, 13, 17, 19,

In this program, the while loop is iterated (high - low - 1) times.

In each iteration, whether low is a prime number or not is checked and the value of low is incremented by 1 until low is equal to high.

Visit this page to learn more on how to check whether a number is prime or not.

If the user enters the larger number first, this program doesn't work as intended. You can solve this issue by swapping the numbers if the user enters the larger number first.


Example 2: Display Prime Numbers When Larger Number is Entered first

#include <iostream>
using namespace std;

int main() {

  int low, high, temp, i;
  bool is_prime;
    
  cout << "Enter two numbers (intevals): ";
  cin >> low >> high;

  //swapping numbers if low is greater than high
  if (low > high) {
    temp = low;
    low = high;
    high = temp;
  }

  cout << "\nPrime numbers between " << low << " and " << high << " are:" << endl;

  while (low < high) {
    is_prime = true;


    if (low == 0 || low == 1) {
      is_prime = false;
    }

    for (i = 2; i <= low / 2; ++i) {
      if (low % i == 0) {
        is_prime = false;
        break;
      }
    }

    if (is_prime)
      cout << low << ", ";

    ++low;
  }

  return 0;
}

Output

Enter two numbers (intervals): 20
0
Prime numbers between 0 and 20 are: 
2, 3, 5, 7, 11, 13, 17, 19,

Visit this page to learn how you can display all prime numbers between two intervals by using user-defined function.

Did you find this article helpful?