समस्या कथन
पूर्णांकों की एक सरणी को देखते हुए, कार्य सरणी के प्रत्येक सबसेट के सभी तत्वों के AND को खोजना और उन सभी के बीच न्यूनतम और मान को प्रिंट करना है।
उदाहरण
If arr[] = {1, 2, 3, 4, 5} then (1 & 2) = 0 (1 & 3) = 1 (1 & 4) = 0 (1 & 5) = 1 (2 & 3) = 2 (2 & 4) = 0 (2 & 5) = 0 (3 & 4) = 0 (3 & 5) = 1 (4 & 5) = 4
एल्गोरिदम
- सरणी के किसी भी सबसेट का न्यूनतम और मान, सरणी के सभी तत्वों का AND होगा।
- तो, सबरे के सभी तत्वों को खोजने का सबसे आसान तरीका है।
उदाहरण
#include <bits/stdc++.h> using namespace std; int getMinAndValue(int *arr, int n) { int result = arr[0]; for (int i = 1; i < n; ++i) { result = result & arr[i]; } return result; } int main() { int arr[] = {1, 2, 3, 4, 5}; int n = sizeof(arr) / sizeof(arr[0]); cout << "Minimum value = " << getMinAndValue(arr, n) << endl; return 0; }
जब आप उपरोक्त प्रोग्राम को संकलित और निष्पादित करते हैं। यह निम्नलिखित आउटपुट उत्पन्न करता है -
आउटपुट
Minimum value = 0