蓝桥杯---猜字母(第5届蓝桥杯省赛 题3)

一、问题

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

接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。 得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。

答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。

二、代码

public class Main {
	public static void main(String[] args) {
		String s = "abcdefghijklmnopqrs";
		for (int i = 0; i < 105; i++)
			s += "abcdefghijklmnopqrs";
		char a[] = s.toCharArray();
		for (int i = 0; i < a.length; i++) {
			if (pow(2, i) <= a.length && pow(2, i + 1) > a.length) {
				System.out.println("第" + pow(2, i) + "位\n留下:" + a[pow(2, i) - 1]);
				break;
			}
		}

	}

	private static int pow(int n, int m) {
		int sum = 1;
		for (int i = 0; i < m; i++) {
			sum *= n;
		}
		return sum;

	}

}

三、截图

             

猜你喜欢

转载自blog.csdn.net/weixin_42565135/article/details/87287459