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