穷举n位二进制数 (深搜、回溯_子集树)
时限:100ms 内存限制:10000K 总时限:300ms
描述: 输入一个小于20的正整数n,要求按从小到大的顺序输出所有的n位二进制数,每个数占一行。
输入: 输入一个小于20的正整数n。
输出: 按从小到大的顺序输出所有的n位二进制数,每个数占一行。
输入样例: 3
输出样例:
000
001
010
011
100
101
110
111
#include<stdio.h> #include<string.h> int N,a[20]={0}; void search(int m) { int i; if(m==N) { for(i=0;i<N;i++) printf("%d",a[i]); printf("\n"); } else { a[m]=0; search(m+1); a[m]=1; search(m+1); } } int main() { scanf("%d",&N); search(0); return 0; }
posted on 2012-07-10 15:32 IThinktan 阅读(1325) 评论(0) 编辑 收藏 举报