资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式
本试题没有输入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000
00001
00010
00011
<以下部分省略>
以下是原代码:
#include<Stdio.h>
int main(void)
{
int a=1,b=1,c=1,d=1,e=1;
int a_=1,b_=1,c_=1,d_=1,e_=1;
for(;a<=32;a++,a_++)
{
for(b=1;b<2;b++,b_++)
{
for(c=1;c<2;c++,c_++)
{
for(d=1;d<2;d++,d_++)
{
for(e=1;e<2;e++,e_++)
{
if((e_%32)>16||(e_%32)==0)
{
printf("1");
if((e_%32)==0)
{
e_=0;
}
}
else
printf("0");
}
if((d_%16)>8||(d_%16)==0)
{
printf("1");
if((d_%16)==0)
{
d_=0;
}
}
else
printf("0");
}
if((c_%8)>4||(c_%8)==0)
{
printf("1");
if((c_%8)==0)
{
c_=0;
}
}
else
printf("0");
}
if((b_%4)==3||(b_%4)==0)
{
printf("1");
if((b_%4)==0)
{
b_=0;
}
}
else
printf("0");
}
if(a_%2==0)
printf("1\n");
else
printf("0\n");
}
return 0;
}
简单是简单,但不知道为什么写了挺久……可能还是不是很熟练吧。