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

من موسوعة حسوب
< Algorithms
مراجعة 21:00، 1 ديسمبر 2019 بواسطة Mohammed Taher (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:مقارنة عددين صحيحن دون استخدام عوامل المقارنة}}</noinclude> المطلوب في هذه المسألة ه...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

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

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

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

} 
}

مصادر