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

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

C++


[sourcecode language=”CPP”]
#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);
}
[/sourcecode]

Java


[sourcecode language=”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
[/sourcecode]

Python


[sourcecode language=”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
[/sourcecode]

C#


[sourcecode language=”CSHARP”]
// 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.
[/sourcecode]

PHP


[sourcecode language=”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
?>

[/sourcecode]


Output:

Not Same

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

C++


[sourcecode language=”CPP”]
// 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;
}
[/sourcecode]

Java


[sourcecode language=”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
[/sourcecode]

Python


[sourcecode language=”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
[/sourcecode]

C#


[sourcecode language=”CSHARP”]
// 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.
[/sourcecode]

PHP


[sourcecode language=”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
?>

[/sourcecode]


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.