In this tutorial you will learn how to write a program in C to check a given number is palindrome or not using recursive method.

Before moving directly on the writing the program to check whether a given number is palindrome or not using recursion, you should know

## What is Palindrome Number?

A Palindrome number is a number which reverse is equal to the original number means number itself.

**For example :** 121, 111, 1223221, etc.

In the above example you can see that 121 is a palindrome number. Because reverse of the 121 is same as 121.

## How our program will behave?

Suppose if someone gives an input 121 then our program should print “the given number is a palindrome”.

And if someone given input 123 the our program should print “the given number is not a palindrome number”.

## C program for palindrome number using recursive method

```
#include <stdio.h>
#include <conio.h>
int reverse(int num);
int isPalindrome(int num);
int main() {
int num;
printf("Enter a number to check Palindrome: ");
scanf("%d", & num);
if (isPalindrome(num) == 1) {
printf("The given number is a Palindrome");
} else {
printf("The given number is not a Palindrome");
}
return 0;
}
int isPalindrome(int num) {
if (num == reverse(num)) {
return 1;
}
return 0;
}
int reverse(int num) {
int rem;
static int sum = 0;
if (num != 0) {
rem = num % 10;
sum = sum * 10 + rem;
reverse(num / 10);
} else
return sum;
return sum;
}
```

**Output 1:**

```
Enter a number to check Palindrome: 121
The given number is a Palindrome
```

**Output 2: **

```
Enter a number to check Palindrome: 431
The given number is not a Palindrome
```

## Explanation of palindrome number c program using Recursive method

- In the above program there are two methods reverse(int num) and isPalindrome(int num).
- reverse method will take a input of a number and the return the reverse of that number.
- isPalindrome method will take a number and that number will pass to reverse function.
- This function will check the equality of original number with the value return by reverse function.
- If value is equal then isPalindrome function will return 1 else it will return 0.
- This return value of isPalindrome function will capture in main function and then output will print as per check.

I hope this is very helpful for you.