Palindrome Program in C using recursive method

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.

Leave a Comment