কম্পিউটার

C++ এ বারবার ইনভার্ট এবং অ্যাপেন্ড অপারেশন দ্বারা তৈরি একটি বাইনারি স্ট্রিং-এ k-th বিট খুঁজুন


ধরুন আমাদের একটি বাইনারি স্ট্রিং s আছে, প্রথমে এটি "0" বলে। এখন প্রতিটি পুনরাবৃত্তিতে এটিকে উল্টে দিন এবং এটি যুক্ত করুন, এভাবে nম পুনরাবৃত্তির পরে, আমরা kth বিটটি খুঁজে পাব। ধরুন পুনরাবৃত্তির সংখ্যা 4, এবং k =7, তাহলে এটি হবে −

পুনরাবৃত্তি মান (প্রাথমিকভাবে 0)
1 01
2 0110
3 01101001
4 0110100110010110

তাই 7 th বিট হল 1।

প্রতিটি পুনরাবৃত্তিতে, পরিপূরক খুঁজুন, এবং যোগ করুন, এভাবে nম পুনরাবৃত্তির পরে, kth বিট খুঁজে পায়

উদাহরণ

#include<iostream>
using namespace std;
string getComplement(string bin){
   string temp = "";
   for(int i= 0; i<bin.length(); i++){
      if(bin[i] == '0')
         temp += "1";
      else
         temp += "0";
   }
   return temp;
}
char getCharacter(string bin_str, int n, int k) {
   string res = bin_str;
   for(int i = 0; i<n; i++){
      res += getComplement(res);
   }
   return res[k];
}
int main() {
   int n = 4;
   string bin = "0";
   cout << 7 << "th character is: "<< getCharacter(bin, n, 7);
}

আউটপুট

7th character is: 1

  1. C++ এ একটি স্ট্রিং বাইনারি অনুসন্ধান করুন

  2. C++ ব্যবহার করে বাইনারি স্ট্রিং S যোগ করার জন্য ন্যূনতম সংখ্যক অপারেশন প্রয়োজন।

  3. C++ ব্যবহার করে একটি স্ট্রিং-এ প্রথম পুনরাবৃত্তি করা অক্ষর খুঁজুন।

  4. বাইনারি এবং অনুক্রমিক অনুসন্ধান তুলনা করার জন্য C++ প্রোগ্রাম