Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm bit thứ k trong chuỗi nhị phân tạo bằng lặp đảo và nối trong C++


Chuỗi nhị phân ban đầu "0". Mỗi lần lặp đảo bit và nối vào cuối. Sau n lần lặp, tìm bit thứ k. Ví dụ n=4, k=7 → chuỗi 0110100110010110, bit 7 là 1.

Mô phỏng: lặp n lần, mỗi lần tạo chuỗi đảo và nối.

Ví dụ

#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); }

Kết quả

7th character is: 1