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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

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

يمكن حلّ هذه المسألة بتطبيق العامل 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); 

} 
}

مصادر