猜字母

问题描述
标题; 猜字母
把abcd...s共19个字母组成的序列重复拼接106次,得到长度为2014的串。
接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。
得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。
答案是一个小写字母,请通过控制台输出答案。不要填写任何多余的内容。

 

 

代码:

 

 

public class Fore {
public static void main(String[] args) {
int a[] = new int[10];
f(0,a);
}

private static void f(int i, int[] a) {
if(i<10){
a[i] = 1;
f(i+1,a);
a[i] = 0;
f(i+1,a);
}else{
int sum = 10;
for (int j = 0; j < a.length; j++) {
if(a[j]==0){
sum = sum-j-1;
}else{
sum*=2;
}
}
if(sum==100){
for (int j = 0; j < a.length; j++) {
System.out.print(a[j]);
}
System.out.println();
}
}
}
}

 

posted @ 2017-10-29 11:11  rainbowxch  阅读(504)  评论(0编辑  收藏  举报