Skip to content
Related Articles

Related Articles

Check if two numbers are equal without using comparison operators

View Discussion
Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 05 Jul, 2022
View Discussion
Improve Article
Save Article

The following are not allowed to use 

  1. Comparison Operators 
  2. String function

Examples:  

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

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

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

C++




#include <iostream>
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

Python3




# 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




<?php
 
// Finds if a and b are same.
function areSame($a, $b)
{
    if ($a ^ $b)
        echo "Not Same";
    else
        echo "Same";
}
 
// Driver Code
areSame(10, 20);
 
// This code is contributed by nitin mittal
?>

Javascript




<script>
 
// Finds if a and b are same.
 
function areSame(a, b)
{
if (a^b)
    document.write("Not Same");
else
    document.write("Same");
}
 
// Driver code
areSame(10, 20);
 
// This code is contributed by Surbhi Tyagi.
 
</script>

Output

Not Same

Time Complexity: O(1)
Auxiliary Space: O(1)

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

C++




// CPP code to check if 2 numbers are same
#include <bits/stdc++.h>
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

Python3




# 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




<?php
// PHP code to check if 2
// numbers are same
 
// Finds if a and b are same
function areSame($a, $b)
{
    if (!($a - $b))
        echo "Same";
    else
        echo "Not Same";
}
 
// Driver code
areSame(10, 20);
 
// This code is contributed by nitin mittal
?>

Javascript




<script>
// javascript code to check if 2 numbers are same
  
 
// Finds if a and b are same
function areSame(a , b)
{
    if ((a - b) == 0)
        document.write("Same");
    else
        document.write("Not Same");
    }
  
    // Driver code
areSame(10, 20);
 
// This code contributed by Princi Singh
</script>

Output

Not Same

Time Complexity: O(1)
Auxiliary Space:  O(1)

Method 3: The bitwise AND of one number and the complement of the other number is zero if they are the same, and non-zero if they are not the same.

Below is the implementation of the above approach:

C++




#include <iostream>
using namespace std;
 
// Finds if a and b are same.
void areSame(int a, int b)
{
    if (a & (~b))
        cout << "Not Same" << endl;
    else
        cout << "Same" << endl;
}
 
// Driver code
int main()
{
    areSame(10, 20);
}
 
// This code is contributed by phasing17

Python3




# Python code to check if 2 numbers are same
 
# Finds if a and b are same
def areSame(a, b):
    if (a & ~b):
        print ("Not Same")
    else:
        print ("Same")
# Driver code
areSame(10, 10)
areSame(10, 20)
 
# This code is contributed by phasing17

C#




// C# program to find min operation to convert a to b
using System;
 
class GFG
{
 
  // Finds if a and b are same.
  static void areSame(int a, int b)
  {
    if (Convert.ToBoolean(a & (~b)))
      Console.WriteLine("Not Same");
    else
      Console.WriteLine("Same");
  }
 
  // Driver code
  public static void Main(string[] args)
  {
    areSame(10, 20);
  }
}
 
// This code is contributed by phasing17

Javascript




//JavaScript code to implement the approach
 
// Finds if a and b are same.
function areSame(a, b)
{
    if (a & (~b))
        console.log("Not Same");
    else
        console.log("Same");
}
 
// Driver code
areSame(10, 20);
 
 
// This code is contributed by phasing17

Output

Not Same

Time Complexity: O(1)
Auxiliary Space:  O(1)

This article is contributed by Rohit Thapliyal. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or if you want to share more information about the topic discussed above.
 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!