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

C++-এ বিটওয়াইজ OR ইভেন পেয়ার: জোড় ফলাফল والے যোড়া গণনা

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

সত্য টেবিল (OR)

ABA OR B
000
101
011
111

মূল লজিক

OR ফলাফল জোড় (LSB=0) হলে দুটি অপারেন্ডই জোড় হতে হবে।

সুতরাং: উত্তর = C(জোড়_কাউন্ট, 2) = জোড়_কাউন্ট × (জোড়_কাউন্ট - 1) / 2

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


#include 
using namespace std;

int count_pair(int arr[], int size) {
    int even = 0;
    for (int i = 0; i < size; i++)
        if (!(arr[i] & 1)) even++;
    return even * (even - 1) / 2;
}

int main() {
    int arr[] = {2, 5, 1, 8, 9, 2, 7};
    int size = sizeof(arr) / sizeof(arr[0]);
    cout << "Even OR pairs: " << count_pair(arr, size);
    return 0;
}

উদাহরণ

অ্যারে: [2, 5, 1, 8, 9, 2, 7]

জোড়: 2, 8, 2 (৩টি) → C(3,2) = 3

আউটপুট: 3

দ্রষ্টব্য

কমেন্টে "Bitwise AND" লেখা আছে কিন্তু কোড OR-র জন্য।

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

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

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

  4. C++-এ অ্যারেতে জোড় ও বিজোড় উপাদান গণনা (Count Even and Odd Elements in Array)