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