1323.穷举n位二进制数
时限:100ms 内存限制:10000K 总时限:300ms
描述
输入一个小于20的正整数n,要求按从小到大的顺序输出所有的n位二进制数,每个数占一行。
输入
输入一个小于20的正整数n。
输出
按从小到大的顺序输出所有的n位二进制数,每个数占一行。
输入样例
3
输出样例
000
001
010
011
100
101
110
111
提示
来源
#include<iostream>
using namespace std;
int a[20],n;
void print(){
int i;
for(i = 0;i < n;i++){
cout<<a[i];
}
cout<<endl;
}
void change(int m){
if(m == n){
print();
}else{
a[m] = 0;//该位设置为0,设置下一位
change(m+1);
a[m] = 1;//该位设置为1,设置下一位
change(m+1);
}
}
int main(){
int i;
cin>>n;
for(i = 0;i < n;i++){
a[i] = 0;
}
change(0);
return 0;
}