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

C++-এ বিটওয়াইজ XOR অড পেয়ার: অড ফলাফল वाले যোড়া গণনা

একটি পূর্ণসংখ্যা অ্যারে দেওয়া আছে। বিটওয়াইজ XOR অপারেশন করার পর ফলাফল বিজোড় (odd) হওয়া যোড়াগুলোর সংখ্যা গণনা করুন।

মূল সিদ্ধান্ত

XOR ফলাফল বিজোড় হলে একটি অপারেন্ড জোড় এবং অন্যটি বিজোড় হতে হবে।

সুতরাং: উত্তর = (জোড়ের সংখ্যা) × (বিজোড়ের সংখ্যা)

C++ বাস্তবায়ন


#include 
using namespace std;

int XOR_Odd(int arr[], int size) {
    int even = 0;
    for (int i = 0; i < size; i++)
        if (arr[i] % 2 == 0) even++;
    int odd = size - even;
    return even * odd;
}

int main() {
    int arr[] = {6, 1, 3, 4, 8, 9};
    int size = sizeof(arr) / sizeof(arr[0]);
    cout << "Odd XOR pairs: " << XOR_Odd(arr, size);
    return 0;
}

উদাহরণ

অ্যারে: [6, 1, 3, 4, 8, 9]

জোড়: 6, 4, 8 (৩টি) | বিজোড়: 1, 3, 9 (৩টি)

আউটপুট: 3 × 3 = 9

নোট

আর্টিকেল ১৭১ ও ১৭৩ একই সমস্যা - শুধু টাইটেল ভিন্ন।

  1. সি++-এ জোড় ও বিজোড় যোগফল বালা অর্ডার্ড পেয়ার গণনা

  2. সি++-এ জোড় ও বিজোড় গুণফল বালা অর্ডার্ড পেয়ার গণনা

  3. C++-এ দেওয়া XOR সমান হয় এমন জোড়া (Pair) গণনা

  4. C++-এ বাইনারি ট্রিতে আডজেসেন্ট নোড পেয়ার য xog XOR বিজোড় হয় তা গণনা