Open In App

Check whether the number can be made palindromic after adding K

Last Updated : 24 Nov, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

Given two numbers N and K, the task is to check whether the given number N can be made a palindromic after adding K to it.
Example: 
 

Input: N = 19, K = 3 
Output: Yes 
Explanation: 
19 + 3 = 22 and 22 is a palindrome.
Input: N = 15, K = 3 
Output: No 
Explanation: 
15 + 3 = 18 and 18 is not a palindrome. 
 

 

Approach: The idea is to first add K to the given number and then check if the obtained number is a palindrome or not
Below is the implementation of the above approach: 
 

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>


Output: 

Yes

 

Time Complexity: O(n)

Auxiliary Space: O(1)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads