C++ program to check if a given number is a prime number or not

In this article, you will learn and get code on checking whether a given number, given by the user at run-time, is a prime number or not in C++. The program is created in the following ways:

What is a prime number?

A prime number is a number that can only be divisible by 1 and the number itself. That is, if a number has no factors except 1 and the number itself, then it is called a prime number. For example, 13, 7, 17, 19, 23, etc.

Examine the prime number in C++

To check whether the number is a prime number or not in C++ programming, you have to ask the user to enter a number first, and then check and print as shown in the program given below:

If a number, n, is divisible by any number from 2 to one less than the number (n-1), then it is not prime; otherwise, it is a prime number.

#include<iostream>
using namespace std;
int main()
{
    int num, i, chk=0;
    cout<<"Enter a Number: ";
    cin>>num;
    for(i=2; i<num; i++)
    {
        if(num%i==0)
        {
            chk++;
            break;
        }
    }
    if(chk==0)
        cout<<"\nIt is a Prime Number";
    else
        cout<<"\nIt is not a Prime Number";
    cout<<endl;
    return 0;
}

This program was built and runs under the Code::Blocks IDE. Here is its sample run:

C++ program check prime number

Now supply any number as input, say 13, and press the ENTER key to check whether it is a prime or not, as shown here:

prime number program c++ programming

The dry run of the above program (with user input 13) goes like this:

In C++, use a function to check the prime number

Now let's create the same-purpose program using a user-defined function called checkPrimeNumber(). It takes the number entered by the user as an argument and returns a value. Initialize its return value to a variable, say chk, so check its value and print the message accordingly.

#include<iostream>
using namespace std;
int checkPrimeNumber(int);
int main()
{
    int num, chk;
    cout<<"Enter a Number: ";
    cin>>num;
    chk = checkPrimeNumber(num);
    if(chk==0)
        cout<<"\nIt is a Prime Number";
    else
        cout<<"\nIt is not a Prime Number";
    cout<<endl;
    return 0;
}
int checkPrimeNumber(int num)
{
    int i, chk=0;
    for(i=2; i<num; i++)
    {
        if(num%i==0)
        {
            chk++;
            return chk;
        }
    }
    return chk;
}

It will produce the same output as the previous program. Here is its sample run with user input as 16:

check prime number using function c++

You can also prefer the program given below for the same purpose as the previous one. In this program, rather than returning a value to the main() function, this program checks and prints directly from inside the function:

#include<iostream>
using namespace std;
void checkPrimeNumber(int);
int main()
{
    int num;
    cout<<"Enter a Number: ";
    cin>>num;
    checkPrimeNumber(num);
    cout<<endl;
    return 0;
}
void checkPrimeNumber(int num)
{
    int i, chk=0;
    for(i=2; i<num; i++)
    {
        if(num%i==0)
        {
            chk++;
            break;
        }
    }
    if(chk==0)
        cout<<"\nIt is a Prime Number";
    else
        cout<<"\nIt is not a Prime Number";
}

In C++, check the prime number using the class

This is the last program that uses classes and objects to check for the prime number. The question is: write a program in C++ to check whether an input number is a prime number or not using classes. Here is its answer:

#include<iostream>
using namespace std;
class fresherearth
{
    private:
        int num, i, chk;
    public:
        int getData();
        int checkPrimeNumber(int);
};
int fresherearth::getData()
{
    cout<<"Enter a Number: ";
    cin>>num;
    return num;
}
int fresherearth::checkPrimeNumber(int num)
{
    int i, chk=0;
    for(i=2; i<num; i++)
    {
        if(num%i==0)
        {
            chk++;
            return chk;
        }
    }
    return chk;
}
int main()
{
    fresherearth c;
    int num, chk=0;
    num = c.getData();
    chk = c.checkPrimeNumber(num);
    if(chk==0)
        cout<<"\nIt is a Prime Number";
    else
        cout<<"\nIt is not a Prime Number";
    cout<<endl;
    return 0;
}

The brief explanation of the above code is:

The same program in different languages

C++ Quiz


« Previous Program Next Program »