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

C++-এ K বিটে আলাদা হয় এমন অ্যারে জোড়া গণনা


এই টিউটোরিয়ালে আমরা অ্যারেতে K বিটে আলাদা হয় এমন জোড়ার (pair) সংখ্যা বের করার প্রোগ্রাম নিয়ে আলোচনা করব।

এই জন্য আমাদের একটি অ্যারে এবং একটি ইন্টিজার K দেওয়া থাকবে। আমাদের কাজ হলো যেসব জোড়ার বাইনারি রিপ্রেজেন্টেশন K বিটে আলাদা, সেগুলোর সংখ্যা বের করা।

উদাহরণ

#include <bits/stdc++.h> using namespace std; //counting number of bits in //binary representation int count_bit(int n){    int count = 0;    while (n) {       if (n & 1)          ++count;       n >>= 1;    }    return count; } //counting the number of pairs long long count_pair(int arr[], int n, int k) {    long long ans = 0;    for (int i = 0; i < n-1; ++i) {       for (int j = i + 1; j < n; ++j) {          int xoredNum = arr[i] ^ arr[j];          if (k == count_bit(xoredNum))             ++ans;       }    }    return ans; } int main() {    int k = 2;    int arr[] = {2, 4, 1, 3, 1};    int n = sizeof(arr)/sizeof(arr[0]);    cout << "Total pairs for k = " << k << " are " << count_pair(arr, n, k) << "\n";    return 0; }

আউটপুট

5

  1. C++-এ সর্টেড বাইনারি অ্যারেতে ১-এর সংখ্যা গণনা (Count 1's in Sorted Binary Array)

  2. C++-এ আনসর্টেড অ্যারে থেকে সমান যোগফল বিশিষ্ট সব জোড়া প্রিন্ট করা

  3. C++ ব্যবহার করে অ্যারেতে ab = cd সেটি করার সব জোড়া (a,b) ও (c,d) বের করা

  4. C++ প্রোগ্রাম: অ্যারেতে ইনভার্শন কাউন্ট করা