কম্পিউটার

C++ এ বাইনারি উপস্থাপনায় XOR 0s এবং 1s গণনা করে


এই সমস্যায়, আমাদের একটি নম্বর দেওয়া হয়। আমাদের কাজ হল সংখ্যাটির বাইনারি উপস্থাপনায় 0 এবং 1 সেকেন্ডের গণনার XOR খুঁজে বের করা।

সমস্যাটি বোঝার জন্য একটি উদাহরণ দেওয়া যাক,

ইনপুট

n = 9

আউটপুট

0

ব্যাখ্যা

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

এই সমস্যাটি সমাধান করার জন্য, আমরা প্রথমে এর বাইনারি সমতুল্য সংখ্যাটিকে রূপান্তর করব এবং তারপর সংখ্যার প্রতিটি বিটের উপর পুনরাবৃত্তি করব, 0s এবং 1s গণনা করব এবং তারপর 0s গণনা এবং 1s গণনার 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++ এ h উচ্চতার সুষম বাইনারি গাছ গণনা করুন

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

  3. C++ এ একটি বাইনারি ট্রি (পুনরাবৃত্ত এবং পুনরাবৃত্তিমূলক) পূর্ণ নোড গণনা করুন

  4. একটি বাইনারি ট্রিতে অর্ধেক নোড গণনা করুন (পুনরাবৃত্ত এবং পুনরাবৃত্তিমূলক) C++ এ