第三题:猜字母
题目描述
把abcd…s共19个字母组成的序列重复拼接106次,得到长度为2014的串。接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。
答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。
题目分析
- 使用字符串+循环
题目代码
public class Main {
public static void main(String[] args) {
String str_1 = "";
String str_copy = "abcdefghijklmnopqrs";
for (int i = 0; i < 106; i++) {
str_1 += str_copy;
}
while (str_1.length() > 1) {
str_copy = "";
for (int i = 0; i < str_1.length(); i++) {
if ((i + 1) % 2 == 0) { //将下标提高了1
str_copy += str_1.charAt(i);
}
}
str_1 = str_copy;
}
System.out.println(str_1.charAt(0));
}
}