MENU

第五届蓝桥杯 Java B—— 猜字母

March 9, 2019 • Read: 2959 • 算法阅读设置

把 abcd...s 共 19 个字母组成的序列重复拼接 106 次,得到长度为 2014 的串。

接下来删除第 1 个字母(即开头的字母 a),以及第 3 个,第 5 个等所有奇数位置的字母。

得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。

  • public class Main {
  • public static void main(String[] args) {
  • StringBuilder str = new StringBuilder("");
  • for (int i = 0; i < 106; i++)
  • for (int j = 0; j < 19; j++)
  • str.append((char) ('a' + j));
  • StringBuilder ans = str;
  • while (ans.length() != 1) {
  • ans = new StringBuilder("");
  • for (int i = 0; i < str.length(); i++)
  • if (i % 2 != 0)
  • ans.append(str.charAt(i));
  • str = ans;
  • }
  • System.out.println(ans);
  • }
  • }
Archives Tip
QR Code for this page
Tipping QR Code