Before going to the program first let us understand what is a *Palindrome Number?*

#### Palindrome Number:

It is a number which remains same even when the number is reversed.

For example,

Numbers like 0,1,2,11,44,121,222,242,345543 are called as Palindrome Numbers.

## Program code to find whether a Number is Palindrome or Not:

#include<iostream.h> #include<conio.h> void main() { int i,n,r,s=0; clrscr(); cout<<"n Enter The Number:"; cin>>n; for(i=n;i>0; ) { r=i%10; s=s*10+r; i=i/10; } /* CHECKING IF THE NUMBER ENTERED AND THE REVERSE NUMBER IS EQUAL OR NOT */ if(s==n) { cout<<n<<" is a Palindrome Number"; } else { cout<<n<<" is a not Palindrome Number"; } getch(); }

**Related: **C program for Palindrome number using For Loop

## Working:

- First the computer reads the number to find the reverse of the number.
- Then using for loop the reverse number is calculated.
- Then finally the reverse number is compared with the entered number and if they are equal then it is printed as “(Given number) is a palindrome number ” else it is printed as “(Given number) is not a palindrome number “.

## Step by Step working of the above Program Code:

Let us assume that the number entered by the user is 121.

- It assigns the value of s=0,n=121.
- Then it assigns the value of i=n (i=121) in the initialization part of the for loop.
- Then the loop continues till the condition of the for loop is true.

3.1. i>0 (121>0) for loop condition is true

r=i%10 (r=121%10) So r=1

s=s*10+r (s=0*10+1) So s=1

i=i/10 (i=121/10) So i=12

3.2. i>0 (12>0) for loop condition is true

r=i%10 (r=12%10) So r=2

s=s*10+r (s=1*10+2) So s=12

i=i/10 (i=12/10) So i=1

3.3. i>0 (1>0) for loop condition is true

r=i%10 (r=1%10) So r=1

s=s*10+r (s=12*10+1) So s=121

i=i/10 (i=1/10) So i=0

3.4. i>0 (0>0) for loop condition is false

It comes out of the for loop and checks whether the number is palindrome or not.

- s==n (121==121) if condition is true

It prints 121 is a palindrome number.

- Thus the program execution is completed.

In the above working, step:4 if condition can also be false for some other number like ’12’.

Then for that it goes to the else part and prints 12 is not a palindrome number.