穷举n位二进制数
代码:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
const int maxn=100+50;
int a[maxn],n;
int main(){
int i,x;
cin>>n;
for(i=n;i>=1;i--)cout<<a[i];cout<<endl;
for(x=1;x<=pow(2,n)-1;x++){
a[1]++;
for(i=1;i<=n;i++){
if(a[i]>=2)a[i]=0,a[i+1]++;
}
for(i=n;i>=1;i--)cout<<a[i];cout<<endl;
}
return 0;
}