কম্পিউটার টিউটোরিয়াল

C++-এ ১ থেকে n পর্যন্ত Kটি সংখ্যা ব্যবহার করে সর্বোচ্চ XOR (Maximum XOR using K Numbers from 1 to n)

এই সমস্যাতে, দুটি ধনাত্মক পূর্ণসংখ্যা n এবং k দেওয়া থাকে। আমাদের কাজ হল ১ থেকে n পর্যন্ত সর্বোচ্চ kটি সংখ্যা ব্যবহার করে সম্ভব সর্বোচ্চ XOR মান বের করা।

উদাহরণ

ইনপুট: n = 5, k = 2

আউটপুট: 7

ব্যাখ্যা

১ থেকে ৫ পর্যন্ত সংখ্যা: 1, 2, 3, 4, 5
সম্ভাব্য XOR জোড়া:
1^2=3, 1^3=2, 1^4=5, 1^5=4
2^3=4, 2^4=6, 2^5=7
3^4=7, 3^5=6
4^5=1
সর্বোচ্চ হল ৭।

লজিক

যেকোনো সংখ্যার সমস্ত বিট ১ হলে XOR মান সর্বোচ্চ হয়। যেমন ৫-এর বাইনারি ১০১, সর্বোচ্চ XOR হবে ১১১ অর্থাৎ ৭। তবে k = 1 হলে সর্বোচ্চ XOR হল n নিজেই।

C++ প্রোগ্রাম উদাহরণ

#include <iostream>
using namespace std;

int maxXor(int n, int k) {
    if (k == 1) return n;
    int result = 1;
    while (result <= n) result <<= 1;
    return result - 1;
}

int main() {
    int n = 5, k = 2;
    cout << "The maximum XOR of " << k << " numbers from 1 to " << n << " is " << maxXor(n, k);
    return 0;
}

আউটপুট

The maximum XOR of 2 numbers from 1 to 5 is 7
  1. C++ ব্যবহার করে XOR সর্বোচ্চ করার জন্য ন্যূনতম এলিমেন্ট অপসারণ

  2. C++-এ অজানা সংখ্যাগুলোর দেওয়া গুণফল থেকে সর্বোচ্চ GCD

  3. C++-এ ++ অপারেটর ব্যবহার করে দুটি সংখ্যা যোগ করা

  4. C++-এ বড় সংখ্যা হ্যান্ডলিং (boost লাইব্রেরি)