猜字母

问题描述
标题; 猜字母
把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();
}
}
}
}

原文地址:https://www.cnblogs.com/-rainbow-/p/7749586.html