কম্পিউটার

একটি বাইনারি স্ট্রিং থেকে একটি উপাদান সরানোর উপায় যাতে XOR C++ এ শূন্য হয়ে যায়


এই সমস্যায়, আমাদের একটি বাইনারি স্ট্রিং দেওয়া হয়। আমাদের কাজ হল মোট সংখ্যা গণনা করা যাতে আমরা একটি উপাদান অপসারণ করতে পারি যেমন XOR শূন্য হয়ে যায়।

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

ইনপুট

n = 11010

আউটপুট

3

এই সমস্যাটি সমাধান করার জন্য, আমাদের যুক্তি প্রয়োজন যে যদি 1 এর সংখ্যাটিও হয় তবে স্ট্রিংয়ের XOR হবে 0, অন্যথায়, আমাদের স্ট্রিং থেকে একটি 1 সরাতে হবে। আমরা XOR-কে প্রভাবিত না করেই যেকোন 0's মুছে ফেলতে পারি।

আমাদের সমাধানের বাস্তবায়ন দেখানোর জন্য প্রোগ্রাম,

উদাহরণ

#include<iostream>
#include<string.h>
using namespace std;
int wayXorZero(string binaryString){
   int oneCount = 0, zeroCount = 0;
   int n = binaryString.length();
   for (int i = 0; i < n; i++)
      if (binaryString[i] == '1')
         oneCount++;
      else
   zeroCount++;
   if (oneCount % 2 == 0)
      return zeroCount;
   return oneCount;
}
int main(){
   string binaryString = "10110100";
   cout<<"Number of ways to make XOR zero is "<<wayXorZero(binaryString);
   return 0;
}

আউটপুট

Number of ways to make XOR zero is 4

  1. C++ এ স্ট্রিং থেকে বাইনারি ট্রি তৈরি করুন

  2. কিভাবে C++ একটি স্ট্রিং থেকে নির্দিষ্ট অক্ষর মুছে ফেলা যায়?

  3. C++ এ স্ট্রিং থেকে ট্রেলিং জিরোস সরান

  4. C++ এ std::string থেকে স্পেস বাদ দিন