01/10/2018, 17:34
Hỏi về thuật quay lui
Đề bài: Nhập vào n. Tin ra các xâu nhị phân có n chữ số.
Em làm thế này ạ:
#include<bits/stdc++.h>
using namespace std;
void result(int a[], int n){
for(int i = 1; i<= n; i++)
cout<<a[i];
cout<<endl;
}
void back(int i, int a[], int n){
if(i==n) result(a, n);
else{
for(int j=0; j<=1; j++){
a[i]=j;
back(i+1, a, n);
}
}
}
int main(){
int a[100], n;
cin>>n;
back(1, a, n);
}
Kết quả in ra bị sai. Mọi người có thể giải thích giúp em được không ạ?
Bài liên quan
Bạn sai ở dòng đầu tiên trong hàm back nhé.
Nhìn lại cách in của result rồi xem lại dòng đó, ngẫm nghĩ chút là ra.
Em cảm ơn ạ!!!