基础练习 01字串
时间限制:1.0s 内存限制:256.0MB
问题描述
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式
本试题没有输入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000
00001
00010
00011
00001
00010
00011
<以下部分省略>
解题思路:
暴力解决。
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
int i,j;
char map[6]="00000";
printf("%s\n",map);
for(i=0;i<31;i++)
{
map[4]+=1;
if(map[4]=='2')
{
map[4]='0';
map[3]++;
}
if(map[4]=='1')
{
printf("%s\n",map);
continue;
}
if(map[3]=='2')
{
map[3]='0';
map[2]++;
}
if(map[3]=='1')
{
printf("%s\n",map);
continue;
}
if(map[2]=='2')
{
map[2]='0';
map[1]++;
}
if(map[2]=='1')
{
printf("%s\n",map);
continue;
}
if(map[1]=='2')
{
map[1]='0';
map[0]++;
}
if(map[1]=='1')
{
printf("%s\n",map);
continue;
}
if(map[0]=='2')
{
map[0]='0';
}
if(map[0]=='1')
{
printf("%s\n",map);
continue;
}
}
return 0;
}