Programa recursivo para comprobar si el número es palíndromo o no

Dado un número, la tarea es escribir una función recursiva que verifique si el número dado es palíndromo o no. 
Ejemplos: 
 

Input : 121
Output : yes

Input : 532
Output : no

El enfoque para escribir la función es llamar a la función recursivamente hasta que el número se atraviese por completo desde atrás. Use una variable temporal para almacenar el reverso del número de acuerdo con la fórmula que se obtuvo en esta publicación. Pase la variable temporal en el parámetro y una vez que se alcance el caso base de n==0, devuelva la temperatura que almacena el reverso de un número. 
A continuación se muestra la implementación del enfoque anterior: 
 

C++

// Recursive C++ program to check if the
// number is palindrome or not
#include <bits/stdc++.h>
using namespace std;
 
// recursive function that returns the reverse of digits
int rev(int n, int temp)
{
    // base case
    if (n == 0)
        return temp;
 
    // stores the reverse of a number
    temp = (temp * 10) + (n % 10);
 
    return rev(n / 10, temp);
}
 
// Driver Code
int main()
{
 
    int n = 121;
     
    int temp = rev(n, 0);
   
    if (temp == n)
        cout << "yes" << endl;
    else
        cout << "no" << endl;
    return 0;
}

Java

// Recursive Java program to
// check if the number is
// palindrome or not
import java.io.*;
 
class GFG
{
 
// recursive function that
// returns the reverse of digits
static int rev(int n, int temp)
{
    // base case
    if (n == 0)
        return temp;
 
    // stores the reverse
    // of a number
    temp = (temp * 10) + (n % 10);
 
    return rev(n / 10, temp);
}
 
// Driver Code
public static void main (String[] args)
{
    int n = 121;
    int temp = rev(n, 0);
     
    if (temp == n)
        System.out.println("yes");
    else
        System.out.println("no" );
}
}
 
// This code is contributed by anuj_67.

Python3

# Recursive Python3 program to check
# if the number is palindrome or not
 
# Recursive function that returns
# the reverse of digits
def rev(n, temp):
 
    # base case
    if (n == 0):
        return temp;
 
    # stores the reverse of a number
    temp = (temp * 10) + (n % 10);
 
    return rev(n // 10, temp);
 
# Driver Code
n = 121;
temp = rev(n, 0);
 
if (temp == n):
    print("yes")
else:
    print("no")
 
# This code is contributed
# by mits

C#

// Recursive C# program to
// check if the number is
// palindrome or not
using System;
 
class GFG
{
 
// recursive function
// that returns the
// reverse of digits
static int rev(int n,
               int temp)
{
    // base case
    if (n == 0)
        return temp;
 
    // stores the reverse
    // of a number
    temp = (temp * 10) +
               (n % 10);
 
    return rev(n / 10, temp);
}
 
// Driver Code
public static void Main ()
{
    int n = 121;
    int temp = rev(n, 0);
     
    if (temp == n)
        Console.WriteLine("yes");
    else
        Console.WriteLine("no" );
}
}
 
// This code is contributed
// by anuj_67.

PHP

<?php
// Recursive PHP program to check
// if the number is palindrome or not
 
// Recursive function that returns
// the reverse of digits
function rev($n, $temp)
{
    // base case
    if ($n == 0)
        return $temp;
 
    // stores the reverse of a number
    $temp = ($temp * 10) + ($n % 10);
 
    return rev($n / 10, $temp);
}
 
// Driver Code
$n = 121;
$temp = rev($n, 0);
 
if ($temp != $n)
    echo "yes";
else
    echo "no";
 
// This code is contributed
// by Sach_Code
?>

Javascript

<script>
 
// Recursive Javascript program to check if the
// number is palindrome or not
 
// recursive function that returns the reverse of digits
function rev(n, temp)
{
    // base case
    if (n == 0)
        return temp;
 
    // stores the reverse of a number
    temp = (temp * 10) + (n % 10);
 
    return rev(Math.floor(n / 10), temp);
}
 
// Driver Code
 
    let n = 121;
     
    let temp = rev(n, 0);
     
    if (temp == n)
        document.write("yes" + "<br>");
    else
        document.write("no" + "<br>");
 
// This code is contributed by Mayank Tyagi
 
</script>
Producción: 

yes

 

Publicación traducida automáticamente

Artículo escrito por RohanDeoli y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *