हमें एक पूर्णांक सरणी दी गई है और कार्य जोड़े की कुल संख्या की गणना करना है जो दिए गए सरणी मानों का उपयोग करके बनाई जा सकती हैं जैसे कि जोड़े पर XOR ऑपरेशन के परिणामस्वरूप एक EVEN होगा मूल्य।
XOR संचालन के लिए सत्य तालिका नीचे दी गई है
A | B | A XOR B |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
इनपुट - int arr[] ={2, 8, 1, 5, 11}
आउटपुट − बिटवाइज़ XOR के साथ EVEN संख्या के रूप में जोड़े की संख्या है − 4
स्पष्टीकरण -
a1 | a2 | a1 XOR a2 |
2 | 8 | 10 |
2 | 1 | 3 |
2 | 5 | 7 |
2 | 11 | 9 |
8 | 1 | 9 |
8 | 5 | 13 |
8 | 11 | 3 |
1 | 5 | 4 |
1 | 11 | 10 |
5 | 11 | 14 |
नीचे दिए गए प्रोग्राम में उपयोग किया गया तरीका इस प्रकार है
-
एक जोड़ी बनाने के लिए पूर्णांक तत्वों की एक सरणी इनपुट करें
-
एक सरणी के आकार की गणना करें आगे की प्रक्रिया के लिए डेटा को फ़ंक्शन में पास करें
-
एक्सओआर ऑपरेशन के साथ गठित जोड़े को एक समान मान के रूप में संग्रहीत करने के लिए एक अस्थायी चर गणना बनाएं।
-
एक सरणी के आकार तक i से 0 तक के लिए लूप प्रारंभ करें
-
लूप के अंदर, IF arr[i]% 2 ==FALSE चेक करें, फिर गिनती को 1 तक बढ़ाएँ
-
तापमान को आकार के रूप में सेट करें * (आकार - 1)
-
एक और अस्थायी चर को जोड़े के रूप में सेट करें =अस्थायी / 2
-
अब एक सरणी में विषम मान युग्मों की गणना गिनती * (आकार - गणना) के रूप में करें
-
अब सम युग्मों को कुल युग्मों के रूप में परिकलित करें - विषम युग्म
-
सम लौटें
-
परिणाम प्रिंट करें।
उदाहरण
#include <iostream> using namespace std; //Count pairs with Bitwise XOR as EVEN number int XOR_Even(int arr[], int size){ int count = 0; for (int i = 0; i < size; i++){ if (arr[i] % 2 != 0){ count++; } } int temp = size * (size-1); int Pairs = temp / 2; int odd = count * (size - count); int even = Pairs - odd; return even; } int main(){ int arr[] = { 2, 6, 1, 8}; int size = sizeof(arr) / sizeof(arr[0]); cout<<"Count of pairs with Bitwise XOR as EVEN number are: "<<XOR_Even(arr, size); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Count of pairs with Bitwise XOR as EVEN number are: 3