codescracker
c++

C++ Program to Check Prime or Not



« Previous Program Next Program »

In this article, you will learn and get code on checking whether a given number by user at run-time is a prime number or not in C++. The program is created in 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 not any factor except 1 and the number itself, then it is called as prime number. For example, 13, 7, 17, 19, 23 etc.

Check Prime Number

To check whether the number is a prime number or not in C++ programming, you have to ask from 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.

// C++ Program to Check Prime Number or Not
// -----codescracker.com----

#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 build and run under Code::Blocks IDE. Here is its sample run:

C++ program check prime number

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

prime number program c++ programming

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

Check Prime Number using Function

Now let's create the same purpose program using a user-defined function checkPrimeNumber(). It takes the the number entered by user as its argument and returns a value. Initialize its return value to a variable say chk, so check its value and print the message accordingly. To learn more about function in C++, you can follow its separate tutorial.

// Check Prime Number using Function
// -----codescracker.com----

#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 of 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 of previous one. In this program, rather returning value to main() function, this program checks and prints directly from inside the function:

// -----codescracker.com----

#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";
}

Check Prime Number using Class

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

// Check Prime or Not using Class
// -----codescracker.com----

#include<iostream>
using namespace std;
class CodesCracker
{
    private:
        int num, i, chk;
    public:
        int getData();
        int checkPrimeNumber(int);
};
int CodesCracker::getData()
{
    cout<<"Enter a Number: ";
    cin>>num;
    return num;
}
int CodesCracker::checkPrimeNumber(int num)
{
    int i, chk=0;
    for(i=2; i<num; i++)
    {
        if(num%i==0)
        {
            chk++;
            return chk;
        }
    }
    return chk;
}
int main()
{
    CodesCracker 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 above code is:

Same Program in Other Languages

C++ Online Test


« Previous Program Next Program »



© Copyright 2021. All Rights Reserved.

CodesCracker