কম্পিউটার

C++ এ একটি পরিসর থেকে একটি জোড়ার সর্বোচ্চ XOR মান


সমস্যা বিবৃতি

একটি পরিসর [L, R] দেওয়া হলে, আমাদের এই পরিসরে দুটি পূর্ণসংখ্যা খুঁজে বের করতে হবে যাতে তাদের XOR দুটি পূর্ণসংখ্যার সম্ভাব্য সকল পছন্দের মধ্যে সর্বাধিক হয়

যদি প্রদত্ত ব্যাপ্তি L =1 এবং R =21 হয় তাহলে আউটপুট হবে 31 কারণ −31 হল 15 এবং 16 এর XOR এবং এটি সীমার মধ্যে সর্বাধিক।

অ্যালগরিদম

<পূর্ব>1. (L^R) মান 2 গণনা করুন। এই মানের সবচেয়ে উল্লেখযোগ্য বিট থেকে চূড়ান্ত ফলাফল পেতে সমস্ত 1s যোগ করুন

উদাহরণ

#include নেমস্পেস ব্যবহার করে std;int getMaxXOR(int L, int R){ int LXR =L^R; int msbPos =0; যখন (LXR) { msbPos++; LXR>>=1; } int maxXOR =0; int দুই =1; যখন (msbPos--) { maxXOR +=দুই; দুই <<=1; } রিটার্ন maxXOR;}int main(){int L =1; int R =21; cout <<"ফলাফল =" < 

আউটপুট

যখন আপনি উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করেন। এটি নিম্নলিখিত আউটপুট −

তৈরি করে
ফলাফল =31

  1. C++ এ অ্যারে থেকে সর্বাধিক পরিধি ত্রিভুজ

  2. C++ এ প্রদত্ত পরিসর থেকে সর্বাধিক বিটওয়াইজ এবং জোড়া

  3. C++ এ একটি অ্যারেতে একটি জোড়ার সর্বোচ্চ বিটওয়াইজ এবং মান

  4. C++ এ ন্যূনতম XOR মান জোড়া