Compruebe si el número se puede hacer palindrómico después de agregar K

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

Deja una respuesta

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