穷举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 n; int a[20]={0}; int b[20]; void search(int m); int main() { int i,m=0; cin>>n; search(m); return 0; } void search(int m) { int i; if(m==n) { for(i=0;i<n;i++) { cout<<a[i]; } cout<<endl; } else { for(i=0;i<2;i++) { a[m]=i; search(m+1); } } }