猜字母
程序员文章站
2022-07-11 09:30:09
一个渣渣的再次分享: 标题:猜字母 把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++)
上一篇: .net开源工作流ccflow从表数据数据源导入设置
下一篇: 类加载机制