01字串
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式
本试题没有输入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000
00001
00010
00011
<以下部分省略>
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int n,m;
n=scan.nextInt();
m=scan.nextInt();
int mid=65,right=64+m,left=66;//以A为中值,判断两种情况,建立左右指针
String s=null;
for (int i =mid; i<=right; i++) {
System.out.print((char)i);
}
if(mid==right) {
mid=100;
right++;
}else {
right--;
}
System.out.println();
for (int count = n-1; count >0; count--) {
if(right>mid) { //正常情况
s=Character.toString((char)left);
for (int i = left-1; i>mid ; i--) {
s+=(char)i;
}
for (int j = mid; j <=right; j++) {
s+=(char)j;
}
right--;
left++;
}else { //中值移出范围
mid=100;
s=Character.toString((char)left);
for (int i = left-1; i>=right ; i--) {
s+=(char)i;
}
left++;
right++;
}
System.out.print(s);
System.out.println();
}
}
}