# C++ Program For Palindrome Number Using WHILE Loop

A palindrome number is the number which is equal to its reverse.

For example, **161** is a palindrome number because if we reverse the order of digits then it is also the same number.

**123** is not a palindrome number because when we reverse digits then** 321** is produced which is not equal to original number **123**.

Let’s break the process of finding palindrome number in steps:

- Get a number from user.
- Reverse the number.
- Compare reversed number with number entered by user.
- If both numbers are same, print “Palindrome.”.
- If both numbers are not equal, print “Not Palindrome.”.

I highly recommend you to read my tutorial about reversing a number which is the most crucial part of this program. Without reading that article, you might be unable to identify that how number is reversed.

## C++ Code To Find Whether A Number is Palindrome or Not:

```
#include<iostream>
using namespace std;
int main()
{
int num, original, remainder;
int reverse=0;
cout<<"ENTER A NUMBER : ";
cin>>num;
original=num;
while(num!=0)
{
remainder=num%10;
reverse=reverse*10+remainder;
num=num/10;
}
if(reverse==original)
{
cout<<"Yes, It is a Palindrome Number.";
}
else
{
cout<<"No, It is not a Palindrome Number.";
}
return 0;
}
```

## C++ Code Explanation:

First of all, we declared four integer type variables: num, original, remainder & reverse.

**num**variable is used to store the number entered by user.- The value of
**num**will be changed during program due to mathematical operation. So, we need another variable which stores the actual value thorougout the program. Thats why we declared**original**variable. - remainder variable will be used to store the remainder of division operation.
- As we want to compare the reversed number with original number. So, variable
**reverse**would be compared with original.

After taking input from user in **num** variable, we pass this variable to while loop which gives us the reverse of number.

Recommended reading: Armstrong Number Program in C++ With Output

After that, we used** IF** condition and compared the reverse number with original number.

If both numbers are equal then program prints **“Yes, It is a Palindrome Number.”** .

If both numbers not equal then program shows **“No, It is not a Palindrome Number.”**.

## Program Output:

When we entered **756**, program showed us it is not a palindrome number which is correct.

## Dry Run:

Let’s see how a computer executes the instructions of this program. Suppose, the number entered by user is 696.

**When num=696**

remainder=696%10=6

reverse=0*10+6=0+6=6

num=696/10=69

**When num=69**

remainder=69%10=9

reverse=6*10+9=60+9=69

num=69/10=6

**When num=6**

remainder=6%10=6

reverse=69*10+6=690+6=**696**

num=6/10=0

If you think that this article is a bit useful then please share it with your friends.

If you have any question then you can ask me in comments. I would like to answer them.

You can also Click Here To Download Exercise Files.

## Follow Us