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)