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>
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