二进制全排列递归

来源:百度知道 编辑:UC知道 时间:2024/06/08 16:10:33
例如 :000
001
010
100
111

#include<iostream>
using namespace std;

#define N 3 //定义二进制位数

int a[N];
void print() //输出a数组中内容
{
int i;
for(i=0; i<N; i++)
cout<<a[i];
cout<<endl;
}

void doit(int i) //递归求解
{
int k;
if(i==N) print();
else for(k=0; k<=1; k++)
{
a[i] = k;
doit(i+1);
}
}

int main() //主函数
{
doit(0);
return(0);
}