1. 程式人生 > >窮舉n位二進位制數

窮舉n位二進位制數

時限:100ms 記憶體限制:10000K  總時限:300ms

描述

輸入一個小於20的正整數n,要求按從小到大的順序輸出所有的n位二進位制數,每個數佔一行。

輸入

輸入一個小於20的正整數n。

輸出

按從小到大的順序輸出所有的n位二進位制數,每個數佔一行。

輸入樣例

3

輸出樣例

000 001 010 011 100 101 110 111

#include <iostream>
#include <stdio.h>
using namespace std;

int n,num[20];
void Search(int m)
{
	int i;
	if(m == n)
	{
		for(i = 0;i < n;i++)
		{
			printf("%d",num[i]);
		}
		printf("\n");
	}
	else
	{
		num[m]=0;Search(m+1);
		num[m]=1;Search(m+1);
	}
}
int main()
{
	cin >> n;
	int m = 0;
	Search(m);
	return 0;
} 
 

       

用的是回溯演算法