समस्या कथन
एक श्रेणी [एल, आर] को देखते हुए, कार्य एक जोड़ी (एक्स, वाई) को ढूंढना है जैसे कि एल ≤ एक्स <वाई ≤ आर और एक्स और वाई सभी संभावित जोड़े में से अधिकतम है, फिर बिटवाइज और मिली जोड़ी को प्रिंट करें ।
उदाहरण
यदि L =1 और R =10 है तो बिटवाइज अधिकतम और मान 8 है जिसे निम्न प्रकार से बनाया जा सकता है -
1000 # Binary representation of 8 Bitwise AND 1001 # Binary representation of 9 ---- 1000 # Final result
एल्गोरिदम
एल से आर तक पुनरावृति करें और बिटवाइज की जांच करें और हर संभव जोड़ी के लिए और सिरों में अधिकतम मूल्य प्रिंट करें
उदाहरण
आइए अब एक उदाहरण देखें -
#include <bits/stdc++.h> using namespace std; int getMaxBitwiseAndValue(int L, int R) { int maxValue = L & R; for (int i = L; i < R; ++i) { for (int j = i + 1; j <= R; ++j) { maxValue = max(maxValue, (i & j)); } } return maxValue; } int main() { int L = 1, R = 10; cout << "Maximum value = " << getMaxBitwiseAndValue(L, R) << endl; return 0; }
आउटपुट
Maximum value = 8