穷举n位二进制数
描述:
输入一个小于20的正整数n,要求按从小到大的顺序输出所有的n位二进制数,每个数占一行。
输入:
输入一个小于20的正整数n。
输出:
按从小到大的顺序输出所有的n位二进制数,每个数占一行。
输入样例:
3
输出样例:
000 001 010 011 100 101 110 111
#include<stdio.h> int n; int a[100];
void search(int m); void output();
int main() { scanf("%d",&n); search(0); } void search(int m) { int i; if(m==n) { output(); } else { for(i=0;i<2;i++) { a[m]=i; search(m+1); } } } void output () { int i; for(i=0;i<n;i++) { printf("%d",a[i]); } printf("\n"); }