蓝桥杯学习记录

分析
1.长度为5的01子串(一个只含01的字串)——如何去存这个字串——数组亦或是其他
2.这个题目没有输入,只有输出,输出是32个5位数——这个结果怎么存放
**

public class Main {
//0-1字符串
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int[] arr = new int [5];
			for(int i = 0;i<=1;i++) {
				arr[0]=i;
				for(int j= 0;j<=1;j++) {
					arr[1]=j;
					for(int m = 0;m <= 1;m++) {
						arr[2] =m;
						for(int n = 0; n <=1;n++) {
							arr[3] =n;
							for(int h =0;h<= 1;h++) {
								arr[4]=h;
								for(int sum = 0;sum<5;sum++) {
									System.out.print(arr[sum]);									
								}
								System.out.println();
							}
						}
					}
				}
			}

	}
}

思路:
因为这个字串是一个5位数,所以用一个数组来存放它的每一位(并不用在对数组进行排序,因为我们写的算法中数组的每一位都是由小变大递增的,所以输出的字串的顺序也会自然的由小变大)
for循环(sum)的是用来控制输出的,实际上实现资格字串的算法使用了五层循环表示字串的每一位。
以后要是遇到关于字串的位数的问题可以考虑用数组存放,就减少了对数字的处理