问题描述

对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:

00000

00001

00010

00011

00100

请按从小到大的顺序输出这32种01串。

输入格式

本试题没有输入。

输出格式

输出32行,按从小到大的顺序每行一个长度为5的01串。

样例输出

00000
00001
00010
00011
<以下部分省略>

#include<iostream>
using namespace std;

void exchange_DB(int n)
{
	if(n==0)
	{
		cout<<"00000"<<endl;
		return;
	}
	
	int i=0,m,num[100];
	char hex[2]={'0','1'};
	while(n>0)
	{
		num[i++]=n%2;
		n=n/2;
	}
	
	for(int p=5-i;p>0;p--)
		cout<<"0"; 
		
	for(i=i-1;i>=0;i--)
	{
		m=num[i];
		cout<<hex[m];
	}
	cout<<endl;
}

int main()
{
	for(int i=0;i<32;i++)
		exchange_DB(i);
	return 0;
}

 

posted on 2020-01-31 15:50  海月CSDN  阅读(45)  评论(0编辑  收藏  举报