一、题目要求:
把abcd…s共19个字母组成的序列重复拼接106次,得到长度为2014的串。
接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。
得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。
答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。
二、代码实现:
方法一:
public class guessnum {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "abcdefghijklmnopqrs";
String sb = "";
for (int i = 1; i < 107; i++) {
sb+=str;
}
while (sb.length()>1) {
String str1 = "";
for (int j = 0; j < sb.length(); j++) {
if(j%2!=0) {
str1+=sb.charAt(j);
}
}
sb=str1;
}
System.out.print(sb.toString());
}
}
输出:q
方法二:
public class guessnum {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "abcdefghijklmnopqrs";
StringBuffer sb = new StringBuffer();
for (int i = 1; i < 107; i++) {
sb=sb.append(str);
}
while (sb.length()>1) {
for (int i = 0; i < sb.length(); i++) {
sb.deleteCharAt(i);
}
}
System.out.print(sb);
}
}
输出:q