Program to Check if Given Number is Palindrome or Not using Recursion
- Write a program to Check if Given Number is Palindrome or Not using Recursion in C
- Write a program to Check if Given Number is Palindrome or Not using Recursion in C++
- Write a program to Check if Given Number is Palindrome or Not using Recursion in Python
- Write a program to Check if Given Number is Palindrome or Not using Recursion in PHP
- Write a program to Check if Given Number is Palindrome or Not using Recursion in Java
- Write a program to Check if Given Number is Palindrome or Not using Recursion in Java Script
- Write a program to Check if Given Number is Palindrome or Not using Recursion in C#
Explanation:
In order to use recursion to determine whether a given number is a palindrome, we must first compare the number’s first and last digits before recursively checking the remaining digits, ignoring the first and last. A number is considered a palindrome if it remains the same when read both forward and backward.
Steps:
- Base Case:
- If the number has only one digit or is empty (i.e., n == 0), return True because single-digit numbers are always palindromes.
- If the number has two digits, check if the first digit is equal to the last digit. If they are equal, return True; otherwise, return False.
- Recursive Case:
- Extract the first and last digits of the number.
- Remove the first and last digits by dividing and taking the remainder.
- Recurse with the remaining number after removing the first and last digits.
- Stopping Condition:
- The recursion stops once all the digits are compared and found to be the same.
Program to Check if Given Number is Palindrome or Not using Recursion
-
C
-
C++
-
Python
-
PHP
-
JAVA
-
Java Script
-
C#
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"><div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-c">#include <stdio.h>
int check_palindrome(int num, int rev, int original) {
if (num == 0)
return (rev == original) ? 1 : 0;
rev = rev * 10 + num % 10;
return check_palindrome(num / 10, rev, original);
}
int main() {
int num;
printf("Enter a number: ");
scanf("%d", &num);
int result = check_palindrome(num, 0, num);
if (result)
printf("%d is a palindrome.\n", num);
else
printf("%d is not a palindrome.\n", num);
return 0;
}
#include <iostream>
using namespace std;
int check_palindrome(int num, int rev, int original) {
if (num == 0)
return (rev == original) ? 1 : 0;
rev = rev * 10 + num % 10;
return check_palindrome(num / 10, rev, original);
}
int main() {
int num;
cout << "Enter a number: ";
cin >> num;
int result = check_palindrome(num, 0, num);
if (result)
cout << num << " is a palindrome." << endl;
else
cout << num << " is not a palindrome." << endl;
return 0;
}
def check_palindrome(num, rev, original):
if num == 0:
return rev == original
rev = rev * 10 + num % 10
return check_palindrome(num // 10, rev, original)
num = int(input("Enter a number: "))
if check_palindrome(num, 0, num):
print(f"{num} is a palindrome.")
else:
print(f"{num} is not a palindrome.")
<?php
function check_palindrome($num, $rev, $original) {
if ($num == 0)
return $rev == $original;
$rev = $rev * 10 + $num % 10;
return check_palindrome(intval($num / 10), $rev, $original);
}
echo "Enter a number: ";
$num = intval(trim(fgets(STDIN)));
if (check_palindrome($num, 0, $num))
echo "$num is a palindrome.\n";
else
echo "$num is not a palindrome.\n";
?>
import java.util.Scanner;
public class Main {
public static boolean check_palindrome(int num, int rev, int original) {
if (num == 0)
return rev == original;
rev = rev * 10 + num % 10;
return check_palindrome(num / 10, rev, original);
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a number: ");
int num = scanner.nextInt();
if (check_palindrome(num, 0, num))
System.out.println(num + " is a palindrome.");
else
System.out.println(num + " is not a palindrome.");
}
}
function check_palindrome(num, rev, original) {
if (num === 0)
return rev === original;
rev = rev * 10 + num % 10;
return check_palindrome(Math.floor(num / 10), rev, original);
}
const num = parseInt(prompt("Enter a number:"));
if (check_palindrome(num, 0, num))
console.log(`${num} is a palindrome.`);
else
console.log(`${num} is not a palindrome.`);
using System;
class Program {
static bool CheckPalindrome(int num, int rev, int original) {
if (num == 0)
return rev == original;
rev = rev * 10 + num % 10;
return CheckPalindrome(num / 10, rev, original);
}
static void Main() {
Console.Write("Enter a number: ");
int num = int.Parse(Console.ReadLine());
if (CheckPalindrome(num, 0, num))
Console.WriteLine($"{num} is a palindrome.");
else
Console.WriteLine($"{num} is not a palindrome.");
}
}