一個渣渣的再次分享: 標題:猜字母 把abcd...s共19個字母組成的序列重覆拼接106次,得到長度為2014的串。 接下來刪除第1個字母(即開頭的字母a),以及第3個,第5個等所有奇數位置的字母。 得到的新串再進行刪除奇數位置字母的動作。如此下去,最後只剩下一個字母,請寫出該字母。 答案是一個小 ...
一個渣渣的再次分享:
標題:猜字母
把abcd...s共19個字母組成的序列重覆拼接106次,得到長度為2014的串。
接下來刪除第1個字母(即開頭的字母a),以及第3個,第5個等所有奇數位置的字母。
得到的新串再進行刪除奇數位置字母的動作。如此下去,最後只剩下一個字母,請寫出該字母。
答案是一個小寫字母,請通過瀏覽器提交答案。不要填寫任何多餘的內容。
import java.util.ArrayList; public class 猜字母 { public static void main(String[] args) { StringBuffer sb = new StringBuffer();//比String多了一些好用的 方法 for(int i=0;i<106;i++) {//先造題目,生成拼接的106次 sb.append("abcdefghijklmnopqrs");//雖然是拼接的但是,每一個字母都有屬於字的下標 } //System.out.println(sb.deleteCharAt(0)); while(sb.length()>1) {//就剩一個停止 for(int i=0;i<sb.length();i++) {//每次刪除一個sb長度就會減少一個,然後i++,其實刪除的恰好就是奇數 sb.deleteCharAt(i);//刪除第i個元素 } } System.out.println(sb); } }
一渣一總結:
1、利用StringBuilder特性造題目
2、每次刪除一個正好減的奇數的有趣現象(因為i++)