//编写人:yike
//时间:2021/12/25/17:11
//问题描述
//
//对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
//
//00000
//
//00001
//
//00010
//
//00011
//
//00100
//
//请按从小到大的顺序输出这32种01串。
//输入格式
//本试题没有输入。
//输出格式
//输出32行,按从小到大的顺序每行一个长度为5的01串。
//样例输出
//00000
//00001
//00010
//00011
//<以下部分省略>
//1.可暴力破解
//2.进制转换 256 = 二进制100000000|000000001 = 100000001
//思路:得到每个数或运算数//将其转换成二进制//得到的位数进行打印
public class Main1 {
public static void main(String[] args) {
for(int i = 0;i<32;i++) {
int n = i|256;//用或运算,eg:1|256 = 257,为转换作准备
String sum = Integer.toBinaryString(n);//转换为二进制
String num = sum.substring(sum.length()-5);//sun有9位数,9-5=4,0,1,2,3,4五位字符打印
System.out.println(num);
}
}
}