समस्या कथन
पूर्णांकों का एक ऐरे दिया गया है, कार्य ऐरे के प्रत्येक सबसेट के सभी एलिमेंट्स का AND ढूंढना और उन सभी में न्यूनतम AND वैल्यू प्रिंट करना है।
उदाहरण
यदि arr[] = {1, 2, 3, 4, 5} तो
(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 वैल्यू ऐरे के सभी एलिमेंट्स का AND होगा।
- इसलिए, सबसे सरल तरीका सबएरे के सभी एलिमेंट्स का AND ढूंढना है।
उदाहरण
#includeusing 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