• Last Updated : 24 Nov, 2021

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

 ``
Output:
`Yes`

Time Complexity: O(n)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up