蓝桥杯学习记录
分析
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)的是用来控制输出的,实际上实现资格字串的算法使用了五层循环表示字串的每一位。
以后要是遇到关于字串的位数的问题可以考虑用数组存放,就减少了对数字的处理