
三、猜字母
发布日期:2021-05-10 03:30:27
浏览次数:33
分类:精选文章
本文共 797 字,大约阅读时间需要 2 分钟。
猜字母
问题:
把abcd…s共19个字母组成的序列重复拼接106次,得到长度为2014的串。
接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。
得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。
答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。
答案:
public class Main { public static void main(String[] args) { char[] a=new char[2015];//数组存放,多一位,从1开始存 for (int i = 0; i < 106; i++) { //重复106 for (int j = 0; j < 19; j++) { a[i*19+j+1]=(char)('a'+j);//a的acs码加上J,再转成char类型,就是对应字符 } } int num=2014;//字母个数 while(num>1) { int pos=1; for (int i = 1; i < num+1; i++) { //只用看前面num个数,后面的无意义 if(i%2==0) { //偶数位向前移动(即与pos位交换) a[pos]=a[i]; pos++;//定位一定要+1 } } num/=2;//每一轮删掉奇数位置,字母个数减少一半 } System.out.println(a[1]); }}
想法:
1.由什么存储?数组 2.如何达到删掉字母的目的?偶数位由后往前移,奇数位不用管, 每一轮num后面的字母就没有用了 3.需要一个变量pos记录被替换的位置 4.达到要求的条件,即剩一个字母,就需要一个变量num记录个数发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月08日 19时12分20秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
STL使用——map/multimap容器
2021-05-10
导图解文 从梦想到财富(29)工作再难,难不过一杯奶茶
2021-05-10
android 开机启动流程分析(13)Zygote的分裂
2021-05-10
简单理解vuex原理
2021-05-10
ES6之函数的扩展
2021-05-10
发布订阅模式与观察者模式
2021-05-10
java.lang.NoSuchMethodError 错误的原因及解决方法
2021-05-10
马王堆出土道德经原文(非删改本)
2021-05-10
java从入门到精通----servlet11
2021-05-10
MySQL复习09-触发器
2021-05-10
JS实现禁止浏览器后退返回上一页
2021-05-10
redis ③ -java客户端连接redis
2021-05-10
torch.meshgrid()函数解析
2021-05-10
Halcon1:灰度投影的运用思路
2021-05-10
java获取的NTLM电脑用户名并解码(python解码)
2021-05-10
创投圈高端词汇收集(持续更新中)
2021-05-10
Vue 中 hash 模式和 history 模式的区别
2021-05-10
运行 Webpack 项目图片和favicon.ico找不到, 图片404错误
2021-05-10