Mong mọi người chỉ giúp em chô sai ở bài này với ạ.Hãy liệt kê tất cả các xâu nhị phân có độ dài 𝑛 sao cho mỗi xâu nhị phân có duy nhất một dãy 𝑘 bít 1 liên tiếp
#include<iostream>
using namespace std;
int ok = 0, n, a[100], k;
void Init(){
cout << "Nhap vao do dai n: "; cin >> n;
cout << "NHap vao k bit 1 : "; cin >> k;
}
void Result(void){
for (int i = 1; i <= n; i++){
cout << a[i];
}
cout << endl;
}
void Bit_String(void){
int i = n;
while (i > 0 && a[i] == 1){
a[i] = 0; i--;
}
if (i > 0){
a[i] = 1;
}
else ok = 1;
}
int Test(){
int dem = 0;
for (int i = n; i >0; i--){
a[i] = 1;
for (int j = n-1; j >0; j--){
if (a[i] == a[j])dem++;
}
}
if(k == dem) return 1;
return 0;
}
int main(){
Init();
while (!ok){
if (Test())Result();
Bit_String();
}
return 0;
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?