हमें एक पूर्णांक सरणी दी गई है और कार्य दिए गए सरणी मानों का उपयोग करके बनने वाले कुल युग्मों की संख्या गिनना है जैसे कि युग्मों पर AND ऑपरेशन का परिणाम एक सम संख्या हो।
AND ऑपरेशन के लिए सत्य सारणी
| A | B | A AND B |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 1 | 1 |
इनपुट - int arr[] = {2, 5, 1, 8, 9}
आउटपुट - बिटवाइज AND सम संख्या वाले युग्मों की संख्या - 7
उपयोग किया गया दृष्टिकोण
- युग्म बनाने के लिए पूर्णांक तत्वों की एक सरणी इनपुट करें
- सरणी का आकार गणना करें और आगे की प्रक्रिया के लिए डेटा को फ़ंक्शन में पास करें
- AND ऑपरेशन के रूप में सम मान वाले युग्मों को संग्रहीत करने के लिए एक अस्थायी चर
countबनाएं। - i से 0 से सरणी के आकार तक लूप FOR शुरू करें
- लूप के अंदर, जांचें IF
arr[i] % 2 == FALSEतो काउंट को 1 से बढ़ाएं count = count * (count - 1) / 2सेट करें- कुल युग्मों की संख्या संग्रहीत करने के लिए एक अस्थायी चर बनाएं और इसे
(size * (size - 1) / 2)पर सेट करें - कुल युग्मों से काउंट घटाकर विषम संख्या संग्रहीत करें
- विषम मान लौटाएं
- परिणाम प्रिंट करें।
C++ कार्यान्वयन
#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