Dados dos números N y K , la tarea es verificar si el número dado N puede convertirse en un palindrómico después de agregarle K.
Ejemplo:
Entrada: N = 19, K = 3
Salida: Sí
Explicación:
19 + 3 = 22 y 22 es un palíndromo.
Entrada: N = 15, K = 3
Salida: No
Explicación:
15 + 3 = 18 y 18 no es un palíndromo.
Planteamiento: La idea es primero sumar K al número dado y luego verificar si el número obtenido es un palíndromo o no .
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to check whether the number // can be made palindrome number after adding K #include <bits/stdc++.h> using namespace std; // Function to check whether a number // is a palindrome or not void checkPalindrome(int num) { // Convert num to string string str = to_string(num); int l = 0, r = str.length() - 1; // Comparing kth character from the // beginning and N - kth character // from the end. If all the characters // match, then the number is a palindrome while (l < r) { if (str[l] != str[r]) { cout << "No"; return; } l++; r--; } // If all the above conditions satisfy, // it means that the number is a palindrome cout << "Yes"; return; } // Driver code int main() { int n = 19, k = 3; checkPalindrome(n + k); return 0; }
Java
import java.util.*; class GFG{ // Java program to check whether the number // can be made palindrome number after adding K // Function to check whether a number // is a palindrome or not static void checkPalindrome(int num) { // Convert num to string String str = Integer.toString(num); int l = 0, r = str.length() - 1; // Comparing kth character from the // beginning and N - kth character // from the end. If all the characters // match, then the number is a palindrome while (l < r) { if (str.charAt(l) != str.charAt(r)) { System.out.print("No"); return; } l++; r--; } // If all the above conditions satisfy, // it means that the number is a palindrome System.out.print("Yes"); return; } // Driver code public static void main(String args[]) { int n = 19, k = 3; checkPalindrome(n + k); } } // This code is contributed by Surendra_Gangwar
Python3
# Python3 program to check whether the number # can be made palindrome number after adding K # Function to check whether a number # is a palindrome or not def checkPalindrome(num): # Convert num to stringing string = str(num) l = 0 r = len(string) - 1; # Comparing kth character from the # beginning and N - kth character # from the end. If all the characters # match, then the number is a palindrome while (l < r): if (string[l] != string[r]) : print("No") return; l = l + 1; r = r - 1; # If all the above conditions satisfy, # it means that the number is a palindrome print("Yes") return; # Driver code if __name__=='__main__': n = 19 k = 3 checkPalindrome(n + k); # This code is contributed by Princi Singh
C#
using System; class GFG{ // C# program to check whether the number // can be made palindrome number after adding K // Function to check whether a number // is a palindrome or not static void checkPalindrome(int num) { // Convert num to string String str = num.ToString(); int l = 0, r = str.Length - 1; // Comparing kth character from the // beginning and N - kth character // from the end. If all the characters // match, then the number is a palindrome while (l < r) { if (str[l] != str[r]) { Console.Write("No"); return; } l++; r--; } // If all the above conditions satisfy, // it means that the number is a palindrome Console.Write("Yes"); return; } // Driver code public static void Main(String []args) { int n = 19, k = 3; checkPalindrome(n + k); } } // This code is contributed by Princi Singh
Javascript
<script> // Javascript program to check whether the number // can be made palindrome number after adding K // Function to check whether a number // is a palindrome or not function checkPalindrome(num) { // Convert num to string let str = num.toString(); let l = 0, r = str.length - 1; // Comparing kth character from the // beginning and N - kth character // from the end. If all the characters // match, then the number is a palindrome while (l < r) { if (str[l] != str[r]) { document.write("No"); return; } l++; r--; } // If all the above conditions satisfy, // it means that the number is a palindrome document.write("Yes"); return; } // Driver Code let n = 19, k = 3; checkPalindrome(n + k); </script>
Producción:
Yes
Complejidad de tiempo: O(n)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA