问题描述
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式
本试题没有输入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000
00001
00010
00011
答案是我自己琢磨出来的,与主流答案大为不同,程序麻烦而且时间复杂度比较高,以后回去看看正确的做法。
00001
00010
00011
<以下部分省略>
public class Main {
public static void main(String args[]) {
int i=0,c=0,x,z;
System.out.printf("00000\n");
for(i=1;i<32;i++)
{
int [] a={0,0,0,0,0,};
x=i;
while(x!=0) {
z=x%2;
a[c]=z;
c++;
x=x/2;
}
c=4;
for(;c>=0;c--)
{
System.out.printf("%d",a[c]);
}
System.out.printf("\n");
c=0;
}
}
}
答案是我自己琢磨出来的,与主流答案大为不同,程序麻烦而且时间复杂度比较高,以后回去看看正确的做法。