Problem B
窮舉n位二進制數
時限:100ms 內存限制:10000K 總時限:300ms
描述:
輸入一個小於20的正整數n,要求按從小到大的順序輸出所有的n位二進制數,每個數佔一行。
輸入:
輸入一個小於20的正整數n。
輸出:
按從小到大的順序輸出所有的n位二進制數,每個數佔一行。
輸入樣例:
3
輸出樣例:
000 001 010 011 100 101 110 111
#include<stdio.h> int n,a[100]; void search(int m); void output(); int main() { scanf("%d",&n); search(0); return 0; } void search(int m) { int i; if(m==n)output(); else { for(i=0;i<2;i++)//若將i<2改爲i<m,則可輸出n位m進制數字 { a[m]=i; search(m+1); } } } void output() { for(int i=0;i<n;i++) { printf("%d",a[i]); } printf("\n"); }