C++ Program to Display Prime Numbers Between Two Intervals Using Functions

Updated on December 10, 2024
Display prime numbers between two intervals using functions header image

Introduction

Prime numbers have always held an important place in mathematics and computer algorithms due to their fundamental properties and applications in numerous areas including cryptography. A prime number is a natural number greater than 1 that cannot be formed by multiplying two smaller natural numbers. In the realm of programming, generating a list of prime numbers can be a great exercise to understand loops, conditions, and functions.

In this article, you will learn how to create a C++ program that displays prime numbers between two given intervals using functions. This guide will provide detailed explanations of each part of the program, ensuring you understand how to implement functions to determine prime status and how to use these functions to list primes within a specific range.

Prime Number Logic in C++

Before diving into intervals, grasp the core concept of checking if a single number is prime. Utilize a function to encapsulate this logic, making it reusable and keeping the main program clean.

Function to Check Prime Status

  1. Define a function isPrime that takes an integer as input and returns a boolean indicating if the number is prime or not.

  2. In the function, handle edge cases first—check if the number is less than 2.

  3. Implement a loop to check divisibility from 2 up to the square root of the number.

    cpp
    #include <cmath>
    
    bool isPrime(int num) {
        if (num <= 1) return false;
        for (int i = 2; i <= sqrt(num); i++) {
            if (num % i == 0) return false;
        }
        return true;
    }
    

    This function starts by checking if the number is less than or equal to 1. Since these are not prime by definition, it returns false. For other numbers, it loops through possible divisors up to the square root of the number. If it finds a divisor, it returns false; otherwise, it reaches the end of the function and returns true.

Display Primes Between Two Intervals

Now, structure a program that uses the isPrime function to find and display all prime numbers between two given integers.

Implementing the Main Logic

  1. Start by including headers and the previously defined isPrime function.

  2. Set up the main() function to accept two interval limits from the user.

  3. Use a loop to iterate over all numbers in the given range, use the isPrime function to check each number, and display it if it's prime.

    cpp
    #include <iostream>
    #include <cmath> // For sqrt function in isPrime
    
    // Paste the isPrime function here
    
    int main() {
        int low, high;
    
        std::cout << "Enter two numbers (intervals): ";
        std::cin >> low >> high;
    
        std::cout << "Prime numbers between " << low << " and " << high << " are: ";
        for (int i = low; i <= high; i++) {
            if (isPrime(i)) {
                std::cout << i << " ";
            }
        }
        std::cout << std::endl;
        return 0;
    }
    

    Here, the program starts by requesting the user to input two numbers that define the range. It then iterates from the lower bound to the upper bound. For each number in this range, it calls isPrime() to determine if it should display the number.

Conclusion

Building a program to display prime numbers between two intervals in C++ is an excellent way to practice understanding functions and loops. By breaking down the problem into a prime-checking function and a loop to apply this check over a range, you maintain a clean and understandable code structure. Make adjustments to the main() function or isPrime function for variations like changing the range or optimizing the prime checking algorithm. Through this process, you enhance not only your C++ skills but also your ability to think algorithmically.