My previous post was about prime numbers and demonstrated a program to generate them in C++ . This post is about finding whether a number is

The method is simple,

For e.g if we want to check whether 5 is a prime number or not(which it is :p ), we simply divide 5 by numbers less than 5 i.e 2,3,4 . Since the division will not generate a whole number, hence it is a prime number. In the language of coding, simply

The following program demonstrates the above method :

**prime or not**. Now as stated earlier,**prime numbers are only divisible by the number 1 and themselves**, and we will be using this particular property to find whether a number is prime or not. Please read the post**Prime number generation in C++**for more information on prime numbers and how to generate them.The method is simple,

**divide the prime number by integers ranging from 2 to number-1**. If the division generates a whole number(that is remainder is 0), then it is not a prime number, as they are only divisible by themselves(and 1) and not by any other number.For e.g if we want to check whether 5 is a prime number or not(which it is :p ), we simply divide 5 by numbers less than 5 i.e 2,3,4 . Since the division will not generate a whole number, hence it is a prime number. In the language of coding, simply

**run a loop from 2 to number-1 and divide it with the number itself**. If the remainder is 0 then it is not a prime no. If it is 1 then it is a prime number. Simple !! :)The following program demonstrates the above method :

// Program to check whether a given integer is prime or not

#include <iostream>

#include <iomanip> // for exit() function

int main()

{

int number;

bool flag = false;

// prompts the user to enter a value to test for prime property

std::cout<<" Enter the number to test : ";

std::cin>>number;

if ( number == 2 ) // checks if 2 is entered(as 2 is a prime number )

{

std::cout<<" The number is PRIME !!! ";

exit(true); // terminates the program is two is enterd, as there is no need for further checking

}

else // divides the number with value from 2 to (number-1)

{

for (int i=2; i<number; i++)

{

// if it is divisible than values smaller than number-1 it is non - prime

if ( number%i == 0)

flag = false;

}

}

// prints the correct message based on the flag value

if ( flag == true )

std::cout<<" \n The number is NON-PRIME !!!";

else

std::cout<<"\n The number is PRIME !!! ";

return 0;

} //end of main

**------ OUTPUT ------**

**------ Some Facts ------**

- The only even prime number is 2. All other even numbers can be divided by 2.
- If the sum of a number's digits is a multiple of 3, that number can be divided by 3.
- No prime number greater than 5 ends in a 5. Any number greater than 5 that ends in a 5 can be divided by 5.
- Zero and 1 are not considered prime numbers.
- Except for 0 and 1, a number is either a prime number or a composite number. A composite number is defined as any number, greater than 1, that is not prime.

**Please do comment if you don't understand any part or want to know more or just want to say thanks. I love programming and love to teach my friends. Your suggestions and appreciation will make this blog much better.**

**------ Related Posts ------**

**1 - Prime number generation in C++ : http://programsplusplus.blogspot.in/2012/03/numbers-can-become-quite-huge-mess-when.html**

**2 - Prime number theorem : http://mathworld.wolfram.com/PrimeNumberTheorem.html**

3 - Fibonacci series in C++ : http://programsplusplus.blogspot.in/2012/03/fibonacci-series-in-c.html

3 - Fibonacci series in C++ : http://programsplusplus.blogspot.in/2012/03/fibonacci-series-in-c.html