مقارنة عددين صحيحن دون استخدام عوامل المقارنة

من موسوعة حسوب

المطلوب في هذه المسألة هو عقد مقارنة بين عددين صحيحن دون استخدام أيٍّ من عوامل المقارنة.

خطوات الخوارمية

يمكن حلّ هذه المسألة بتطبيق العامل XOR على العددين المعطيين، فإن كان الناتج صفرًا كان العددان متساويين، وإلا فإنّ العددين مختلفان.

تنفيذ الخوارزمية

  • C++‎:
#include<bits/stdc++.h> 
using namespace std; 

bool EqualNumber(int A, int B) 
{ 
return ( A ^ B ) ; 
} 

// اختبار الدالة السابقة
int main() 
{ 
int A = 5 , B = 6; 
cout << !EqualNumber(A, B) << endl; 
return 0; 
}
  • بايثون:
def EqualNumber(A, B): 

	return ( A ^ B ) 

# اختبار الدالة السابقة
A = 5; B = 6
print(int(not(EqualNumber(A, B))))
  • جافا:
import java.util.*; 

class solution 
{ 

static boolean EqualNumber(int A, int B) 
{ 
	
if ((A^B) != 0) 
return true; 
else
return false; 
} 

// اختبار الدالة السابقة 
public static void main(String args[]) 
{ 
int A = 5 , B = 6; 
if(EqualNumber(A, B) == false) 
System.out.println(1); 
else
System.out.println(0); 

} 
}

مصادر