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

C++-এ বাইনারি রিপ্রেজেন্টেশনে ০ এবং ১-এর কাউন্টের XOR

এই সমস্যায়, আমাদের একটি নাম্বার দেওয়া আছে। আমাদের কাজ হল নাম্বারের বাইনারি রিপ্রেজেন্টেশনে ০ এবং ১-এর কাউন্টের XOR বের করা।

একটি উদাহরণ দিয়ে সমস্যাটি বুঝতে পারি,

ইনপুট

n = 9

আউটপুট

0

ব্যাখ্যা

binary = 1001
Count of 0s = 2
Count of 1s = 2
2 ^ 2 = 0

এই সমস্যাটি সমাধান করতে, আমরা প্রথমে নাম্বারটিকে এর বাইনারি ইকুইভ্যালেন্ট-এ কনভার্ট করব এবং তারপর নাম্বারের প্রতিটি বিট ওভার ইটারেট করে ০ এবং ১ কাউন্ট করব এবং তারপর ০-এর কাউন্ট এবং ১-এর কাউন্টের XOR বের করব।

উদাহরণ

উপরোক্ত সমাধান ইলাস্ট্রেট করার প্রোগ্রাম,

#include <iostream>
using namespace std;

int countXOR10(int n) {
    int count0s = 0, count1s = 0;
    while (n) {
        (n % 2 == 0) ? count0s++ : count1s++;
        n /= 2;
    }
    return (count0s ^ count1s);
}

int main() {
    int n = 21;
    cout << "XOR of count of 0s and 1s in binary of " << n << " is " << countXOR10(n);
    return 0;
}

আউটপুট

XOR of count of 0s and 1s in binary of 21 is 1
  1. C++-এ নির্দিষ্ট উচ্চতার সমতুল্য বাইনারি ট্রি গণনা

  2. C++-এ বাইনারি ট্রি সিরিয়ালাইজ এবং ডিসিরিয়ালাইজ করা

  3. C++-এ বাইনারি ট্রি-এ ফুল নোড (Full Nodes) গণনা (ইটেরেটিভ ও রিকারসিভ)

  4. C++-এ বাইনারি ট্রি-এ হাফ নোড (Half Nodes) গণনা (ইটেরেটিভ ও রিকারসিভ)