हमें एक पूर्णांक सरणी दी गई है और कार्य दिए गए सरणी मानों का उपयोग करके बनने वाले कुल युग्मों की संख्या गिनना है जैसे कि युग्मों पर 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 विषम संख्या वाले युग्मों की संख्या - 3
उपयोग किया गया दृष्टिकोण
- युग्म बनाने के लिए पूर्णांक तत्वों की एक सरणी इनपुट करें
- सरणी का आकार गणना करें और आगे की प्रक्रिया के लिए डेटा को फ़ंक्शन में पास करें
- AND ऑपरेशन के रूप में विषम मान वाले युग्मों को संग्रहीत करने के लिए एक अस्थायी चर
countबनाएं। - i से 0 से सरणी के आकार तक लूप FOR शुरू करें
- लूप के अंदर, जांचें IF
arr[i] % 2 == TRUEतो काउंट को 1 से बढ़ाएं count = count * (count - 1) / 2सेट करें- काउंट लौटाएं
- परिणाम प्रिंट करें।
C++ कार्यान्वयन
#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] % 2 == 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 AND as ODD number are: " << count_pair(arr, size) << endl;
return 0;
}
आउटपुट
Count of pairs with Bitwise AND as ODD number are: 6