Check if two numbers are equal without using comparison operators

Following are not allowed to use
1) Comparison Operators
2) String functions

Examples:

Input : num1 = 1233, num2 - 1233
Output : Same

Input : num1 = 223, num2 = 233
Output : Not Same

Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Method 1: The idea is to use XOR operator. XOR of two numbers is 0 if the numbers are same, otherwise non-zero.

C++

 #include using namespace std;     // Finds if a and b are same. void areSame(int a, int b) {    if (a^b)         cout << "Not Same";     else         cout << "Same"; }     int main() {      areSame(10, 20); }

Java

 class GFG {     // Finds if a and b are same     static void areSame(int a,int b)     {         if( (a ^ b) != 0 )             System.out.println("Not Same");         else             System.out.println("Same");     }        public static void main(String args[])     {         areSame(10,20);     }        } // This code is contributed by Sumit Ghosh

Python

 # Finds if a and b are same. def areSame(a, b):    if (a ^ b):         print "Not Same"    else:        print "Same"      # Driver code areSame(10, 20)    # This code is submitted by Sachin Bisht

C#

 // C# program to check if 2  // numbers are same using System;    class GFG {     // Finds if a and b are same     static void areSame(int a, int b)     {         if( (a ^ b) != 0 )           Console.Write("Not Same");         else           Console.Write("Same");     }           // Driver code     public static void Main()     {                           // Calling Function         areSame(10, 20);     }        }    // This code is contributed by Nitin Mittal.

PHP



Output:

Not Same

Method 2: We can subtract the numbers. Same numbers yield 0. If answer is not 0, numbers are not same.

C++

 // CPP code to check if 2 numbers are same #include using namespace std;    // Finds if a and b are same void areSame(int a, int b) {     if (!(a - b))         cout << "Same";     else         cout << "Not Same"; }    // Driver code int main()  {          areSame(10, 20);         return 0; }

Java

 // Java code to check if 2 numbers are same class GFG{         // Finds if a and b are same     static void areSame(int a, int b)     {         if ((a - b) == 0)             System.out.println("Same");         else             System.out.println("Not Same");     }         // Driver code     public static void main(String args[])      {             areSame(10, 20);                } } //This code is contributed by Sumit Ghosh

Python

 # Python code to check if 2 numbers are same    # Finds if a and b are same def areSame(a, b):     if (not(a - b)):         print "Same"     else:         print "Not Same" # Driver code areSame(10, 20)    # This code is submitted by Sachin Bisht

C#

 // C# code to check if 2  // numbers are same using System;    class GFG {         // Finds if a and b are same     static void areSame(int a, int b)     {         if ((a - b) == 0)             Console.Write("Same");         else             Console.Write("Not Same");     }        // Driver code     public static void Main()      {                     // Calling Function         areSame(10, 20);      } }    // This code is contributed by Nitin Mittal.

PHP



Output:

Not Same

This article is contributed by Rohit Thapliyal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

My Personal Notes arrow_drop_up

Improved By : nitin mittal

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.