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

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

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

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

ABA AND B
000
100
010
111

মূল লজিক

AND ফলাফল জোড় (LSB=0) হলে কমপক্ষে একটি অপারেন্ড জোড় হতে হবে।

সুতরাং: উত্তর = মোট যোড়া - (বিজোড়_কাউন্ট C 2)

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


#include 
using namespace std;

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

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

উদাহরণ

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

বিজোড়: 5, 1, 3 (৩টি) → বিজোড় যোড়া = C(3,2) = 3

মোট যোড়া = C(5,2) = 10

জোড় AND যোড়া = 10 - 3 = 7

  1. C++-এ অ্যারেতে ভাগযোগ্য জোড়া গণনা

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

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

  4. C++-এ পার্থক্য K হয় এমন আলাদা জোড়া গণনা (Count Distinct Pairs with Difference K)