Escriba un programa que tome número y proporcione el palíndromo resultante (si existe). Si tomó más de 1, 000 iteraciones (adiciones) o arrojó un palíndromo mayor que 4, 294, 967, 295, asuma que no existe ningún palíndromo para el número dado.
Ejemplos:
Entrada: N = 195
Salida: 9339Entrada: N = 265
Salida: 45254Entrada: N = 196
Salida: No existe palíndromo
Enfoque: Cree una función inversa y sume para comenzar con un número, invierta sus dígitos y agregue el reverso al original. Si la suma no es un palíndromo, repite este procedimiento hasta que lo sea.
C++
// C++ Program to implement reverse and add function #include <bits/stdc++.h> using namespace std; /* Iterative function to reverse digits of num*/ long long reversDigits(long long num) { long long rev_num = 0; while (num > 0) { rev_num = rev_num * 10 + num % 10; num = num / 10; } return rev_num; } /* Function to check whether the number is palindrome or not */ bool isPalindrome(long long num) { return (reversDigits(num) == num); } /* Reverse and Add Function */ void ReverseandAdd(long long num) { long long rev_num = 0; while (num <= 4294967295) { // Reversing the digits of the number rev_num = reversDigits(num); // Adding the reversed number // with the original num = num + rev_num; // Checking whether the number // is palindrome or not if (isPalindrome(num)) { printf("%lld\n", num); break; } else if (num > 4294967295) { printf("No palindrome exist"); } } } // Driver Program int main() { ReverseandAdd(195); ReverseandAdd(265); return 0; }
Java
// Java Program to implement reverse and add function public class ReverseAdd { /* Iterative function to reverse digits of num*/ long reversDigits(long num) { long rev_num = 0; while (num > 0) { rev_num = rev_num * 10 + num % 10; num = num / 10; } return rev_num; } /* Function to check whether he number is palindrome or not */ boolean isPalindrome(long num) { return (reversDigits(num) == num); } /* Reverse and Add Function */ void ReverseandAdd(long num) { long rev_num = 0; while (num <= 4294967295l) { // Reversing the digits of the number rev_num = reversDigits(num); // Adding the reversed number // with the original num = num + rev_num; // Checking whether the number // is palindrome or not if (isPalindrome(num)) { System.out.println(num); break; } else if (num > 4294967295l) { System.out.println("No palindrome exist"); } } } // Main method public static void main(String[] args) { ReverseAdd ob = new ReverseAdd(); ob.ReverseandAdd(195l); ob.ReverseandAdd(265l); } }
Python3
# Python Program to implement reverse and add function # Iterative function to reverse digits of num def reversDigits(num): rev_num = 0 while (num > 0): rev_num = rev_num * 10 + num % 10 num = num//10 return rev_num # Function to check whether # the number is palindrome or not def isPalindrome(num): return (reversDigits(num) == num) # Reverse and Add Function def ReverseandAdd(num): rev_num = 0 while (num <= 4294967295): # Reversing the digits of the number rev_num = reversDigits(num) # Adding the reversed number # with the original num = num + rev_num # Checking whether the number # is palindrome or not if(isPalindrome(num)): print (num) break else: if (num > 4294967295): print ("No palindrome exist") # Driver Code ReverseandAdd(195) ReverseandAdd(265)
C#
// C# Program to implement reverse and add function using System; class GFG { /* Iterative function to reverse digits of num*/ static long reversDigits(long num) { long rev_num = 0; while (num > 0) { rev_num = rev_num * 10 + num % 10; num = num / 10; } return rev_num; } /* Function to check whether he number is palindrome or not */ static bool isPalindrome(long num) { return (reversDigits(num) == num); } /* Reverse and Add Function */ static void ReverseandAdd(long num) { long rev_num = 0; while (num <= 4294967295) { // Reversing the digits of the number rev_num = reversDigits(num); // Adding the reversed number // with the original num = num + rev_num; // Checking whether the number // is palindrome or not if (isPalindrome(num)) { Console.WriteLine(num); break; } else if (num > 4294967295) { Console.WriteLine("No palindrome exist"); } } } // Driver code public static void Main() { ReverseandAdd(195); ReverseandAdd(265); } } // This code is contributed by chandan_jnu
PHP
<?php // PHP Program to implement reverse and add function /* Iterative function to reverse digits of num*/ function reversDigits($num) { $rev_num = 0; while ($num > 0) { $rev_num = $rev_num * 10 + $num % 10; $num = (int)($num / 10); } return $rev_num; } /* Function to check whether he number is palindrome or not */ function isPalindrome($num) { return (reversDigits($num) == $num); } /* Reverse and Add Function */ function ReverseandAdd($num) { $rev_num = 0; while ($num <= 4294967295) { // Reversing the digits of the number $rev_num = reversDigits($num); // Adding the reversed number with // the original $num = $num + $rev_num; // Checking whether the number is // palindrome or not if (isPalindrome($num)) { print($num . "\n"); break; } else if ($num > 4294967295) { print("No palindrome exist"); } } } // Driver Code ReverseandAdd(195); ReverseandAdd(265); // This code is contributed by chandan_jnu ?>
Javascript
<script> // Javascript program to implement // reverse and add function // Iterative function to reverse digits of num function reversDigits(num) { let rev_num = 0; while (num > 0) { rev_num = rev_num * 10 + num % 10; num = parseInt(num / 10, 10); } return rev_num; } // Function to check whether he number // is palindrome or not function isPalindrome(num) { return(reversDigits(num) == num); } // Reverse and Add Function function ReverseandAdd(num) { let rev_num = 0; while (num <= 4294967295) { // Reversing the digits of the number rev_num = reversDigits(num); // Adding the reversed number // with the original num = num + rev_num; // Checking whether the number // is palindrome or not if (isPalindrome(num)) { document.write(num + "</br>"); break; } else if (num > 4294967295) { document.write("No palindrome exist" + "</br>"); } } } // Driver code ReverseandAdd(195); ReverseandAdd(265); // This code is contributed by rameshtravel07 </script>
9339 45254
Referencias : https://app.assembla.com/spaces/AASU_Fall2008_ProgrammingTeam/wiki
Este artículo es una contribución de Rahul Agrawal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA