Phát sinh chuỗi nhị phân độ dài n

Mã:
#include "conio.h"
#include "iostream.h"
#define max 20
int Luu[max];
int n;
/*Xuat ket qua ra man hinh*/
void Out(){
	cout<<endl;
	for(int i = 0; i<n; i++)
		cout<<Luu[i];
}
/*Day nhi phan do dai n - Cách viết 1*/
void Try(int i) {
	if(i==n)
		Out();
	else {
		for(int j = 0; j<=1; j++) {
			Luu[i] = j;
			Try(i+1);
			Luu[i]=0;
		}
	}

}
/*Day nhi phan do dai n - Cách viết 2*/
void Try1(int i){
	for(int j = 0; j<=1; j++) {
		Luu[i] = j;
		if(i==n-1)
			Out();
		else
			Try1(i+1);
	}
}
/*Chuong trinh chinh*/
void main(){
	clrscr();
	cout<<"Nhap n = ";
	cin>>n;
	cout<<"Day nhi phan do dai n.\n";
	Try(0);
	getch();
}