本文主要是介绍蓝桥杯 BASIC-2 01字串,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式
本试题没有输入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000
00001
00010
00011
<以下部分省略>
问题分析
直接使用十进制数循环,期间转换为二进制存储,本题的坎在于5位数,在java中创建数组默认初始化为0,因此只需要控制数组的长度为5即可,由于进制转换时是从下往上读的,因此需要逆序输出。
代码
import java.util.Scanner;public class Main{public static void main(String[] args) {for(int i=0;i<32;i++){int []a= new int[5];int count = 4;int temp = i;while (temp>=1){a[count--] = temp % 2;temp = temp / 2;}for(int j = 0;j < 5;j++){System.out.print(a[j]);}System.out.println();}}
}
这篇关于蓝桥杯 BASIC-2 01字串的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!