Given two integers a and b. Now, c can be found as a + b = c. The task is to check if the equation is still valid after removing all zeroes from a, b and c. If valid then print Yes else print No.
Examples:
Input: a = 101, b = 102
Output: Yes
Current equation is 101 + 102 = 203
After removing 0s, 11 + 12 = 23 (which is still correct)Input: a = 105, b = 106
Output: No
105 + 106 = 211
15 + 16 = 211 (Incorrect)
Approach:
- Calculate c.
- Remove all 0s from a, b and c.
- Check if the new values form a correct equation.
Below is the implementation of the above approach:
// C++ implementation of the approach #include<bits/stdc++.h> #include<string> #include<iostream> #include<sstream> using namespace std;
// Function to remove zeroes from a number int remove ( int x)
{ // Converting x into a string
string y = to_string(x);
// To store the new integer without 0s
string num;
int i;
for (i = 0; i < y.length(); i++)
{
// Skip if current character is 0
if (y[i] == 0)
continue ;
num += y[i];
}
// Return the integer after removing 0s
return stoi(num);
} // Function that returns true if // the given condition is satisfied bool check( int a, int b)
{ // Calculate c
int c = a + b;
// Remove 0s from a, b and c
a = remove (a);
b = remove (b);
c = remove (c);
// Check if the equation is still correct
if ((a + b) == c)
return true ;
else
return false ;
} // Driver code int main()
{ int a = 101;
int b = 102;
if (check(a, b))
cout << "Yes" ;
else
cout << "No" ;
} // This code is contributed by ita_c |
// Java implementation of the approach import java.util.*;
class GFG{
// Function to remove zeroes from a number public static int remove( int x)
{ // Converting x into a string
String y = String.valueOf(x);
// To store the new integer without 0s
String num = "" ;
int i;
for (i = 0 ; i < y.length(); i++)
{
// Skip if current character is 0
if (y.charAt(i) == 0 )
continue ;
num += y.charAt(i);
}
// Return the integer after
// removing 0s
return Integer.parseInt(num);
} // Function that returns true if // the given condition is satisfied public static boolean check( int a, int b)
{ // Calculate c
int c = a + b;
// Remove 0s from a, b and c
a = remove(a);
b = remove(b);
c = remove(c);
// Check if the equation is
// still correct
if ((a + b) == c)
return true ;
else
return false ;
} // Driver code public static void main(String[] args)
{ int a = 101 ;
int b = 102 ;
if (check(a, b))
System.out.println( "Yes" );
else
System.out.println( "No" );
} } // This code is contributed by grandmaster |
# Python3 implementation of the approach # Function that returns true if # the given condition is satisfied def check(a, b):
# Calculate c
c = a + b
# Remove 0s from a, b and c
a = remove(a)
b = remove(b)
c = remove(c)
# Check if the equation is still correct
if ((a + b) = = c):
return True
else :
return False
# Function to remove zeroes from a number def remove(x):
# Converting x into a string
y = str (x)
# To store the new integer without 0s
num = ""
for i in range ( len (y)):
# Skip if current character is 0
if (y[i] = = "0" ):
continue
num + = y[i]
# Return the integer after removing 0s
return int (num)
# Driver code a = 101
b = 102
if (check(a, b)):
print ( "Yes" )
else :
print ( "No" )
|
// C# implementation of the approach using System;
class GFG{
// Function to remove zeroes from a number public static int remove( int x)
{ // Converting x into a string
string y = x.ToString();
// To store the new integer without 0s
string num = "" ;
int i;
for (i = 0; i < y.Length; i++)
{
// Skip if current character is 0
if (y[i] == 0)
continue ;
num += y[i];
}
// Return the integer after
// removing 0s
return Int32.Parse(num);
} // Function that returns true if // the given condition is satisfied public static bool check( int a, int b)
{ // Calculate c
int c = a + b;
// Remove 0s from a, b and c
a = remove(a);
b = remove(b);
c = remove(c);
// Check if the equation is
// still correct
if ((a + b) == c)
return true ;
else
return false ;
} // Driver code public static void Main( string [] args)
{ int a = 101;
int b = 102;
if (check(a, b))
Console.Write( "Yes" );
else
Console.Write( "No" );
} } // This code is contributed by rutvik_56 |
<?php // PHP implementation of the approach // Function that returns true if // the given condition is satisfied function check( $a , $b )
{ // Calculate c
$c = $a + $b ;
// Remove 0s from a, b and c
$a = remove( $a );
$b = remove( $b );
$c = remove( $c );
// Check if the equation is
// still correct
if (( $a + $b ) == $c )
return true;
else
return false;
} // Function to remove zeroes // from a number function remove( $x )
{ // Converting x into a string
$y = (string) $x ;
// To store the new integer without 0s
$num = "" ;
for ( $i = 0; $i < strlen ( $y ); $i ++)
{
// Skip if current character is 0
if ( $y [ $i ] == "0" )
continue ;
$num .= $y [ $i ];
}
// Return the integer after removing 0s
return (int) $num ;
} // Driver code $a = 101;
$b = 102;
if (check( $a , $b ))
echo "Yes" ;
else echo "No" ;
// This code is contributed by Ryuga ?> |
<script> // JavaScript implementation of the approach // Function to remove zeroes from a number function remove(x)
{ // Converting x into a string
var y = x.toString();
// To store the new integer without 0s
var num = "" ;
var i;
for (i = 0; i < y.length; i++)
{
// Skip if current character is 0
if (y[i] == 0)
continue ;
num += y[i];
}
// Return the integer after removing 0s
return parseInt(num);
} // Function that returns true if // the given condition is satisfied function check(a, b)
{ // Calculate c
var c = a + b;
// Remove 0s from a, b and c
a = remove(a);
b = remove(b);
c = remove(c);
// Check if the equation is still correct
if ((a + b) == c)
return true ;
else
return false ;
} // Driver code var a = 101;
var b = 102;
if (check(a, b))
document.write( "Yes" );
else document.write( "No" );
</script> |
Yes
Time Complexity: O(1)
Auxiliary Space: O(1)
One approach is to use the str.replace() method to remove all zeroes from a, b and c, and then check if the resulting values form a correct equation.
Here is an example of how this can be done:
#include <iostream> #include <algorithm> #include <string> using namespace std;
int main() {
int a = 101;
int b = 102;
int c = a + b;
string str_a = to_string(a);
string str_b = to_string(b);
string str_c = to_string(c);
// Remove all occurrences of '0' in a
str_a.erase( remove (str_a.begin(), str_a.end(), '0' ), str_a.end());
// Remove all occurrences of '0' in b
str_b.erase( remove (str_b.begin(), str_b.end(), '0' ), str_b.end());
// Remove all occurrences of '0' in c
str_c.erase( remove (str_c.begin(), str_c.end(), '0' ), str_c.end());
// Check if the sum of a and b is equal to c
if (stoi(str_a) + stoi(str_b) == stoi(str_c)) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
return 0;
} |
// Java code for the above approach import java.io.*;
class GFG {
public static void main(String[] args)
{
int a = 101 ;
int b = 102 ;
int c = a + b;
String aString
= Integer.toString(a).replace( "0" , "" );
String bString
= Integer.toString(b).replace( "0" , "" );
String cString
= Integer.toString(c).replace( "0" , "" );
if (Integer.parseInt(aString)
+ Integer.parseInt(bString)
== Integer.parseInt(cString)) {
System.out.println( "Yes" );
}
else {
System.out.println( "No" );
}
}
} // This code is contributed by lokeshpotta20. |
a = 101
b = 102
c = a + b
a = str (a).replace( "0" , "")
b = str (b).replace( "0" , "")
c = str (c).replace( "0" , "")
if int (a) + int (b) = = int (c):
print ( "Yes" )
else :
print ( "No" )
#This code is contributed by Edula Vinay Kumar Reddy |
using System;
namespace ConsoleApp1
{ class GFG
{
static void Main( string [] args)
{
int a = 101;
int b = 102;
int c = a + b;
a = int .Parse(a.ToString().Replace( "0" , "" ));
b = int .Parse(b.ToString().Replace( "0" , "" ));
c = int .Parse(c.ToString().Replace( "0" , "" ));
if (a + b == c)
{
Console.WriteLine( "Yes" );
}
else
{
Console.WriteLine( "No" );
}
}
}
} |
let a = "101" ;
let b = "102" ;
let x = parseInt(a) + parseInt(b); let c=x.toString(); a = a.replace( "0" , "" );
b = b.replace( "0" , "" );
c = c.replace( "0" , "" );
if (parseInt(a) + parseInt(b) == parseInt(c))
console.log( "Yes" );
else console.log( "No" );
|
Yes
Time Complexity: O(1) (Given is integer, even largest integer contains constant digits which is constant time to replace “0”s )
Auxiliary Space: O(1)