蓝桥杯2014 JAVA本科B组题目详解:武功秘籍、面条切割与字母序列

5星 · 超过95%的资源 需积分: 10 50 下载量 39 浏览量 更新于2024-07-23 收藏 71KB DOC 举报
在2014年的第五届蓝桥杯JAVA本科B组试题中,考察了三个不同的编程和数学问题,涉及算法设计、逻辑推理以及基本的编程技巧。 1. **武功秘籍问题**: 这是一个关于纸张剪裁的问题,目标是小明只想要练习某本书的第81页到第92页的武功,由于第10页和第11页是一起的,这意味着第81页到第92页跨越了12页,但每一页都需要单独的纸张。由于第11页和第12页不在同一张纸上,所以第81页对应的纸张是单独的。为了得到这12页,小明需要撕下从第80页到第93页的纸张,因为每增加一页就需要多撕一张,但第93页的后半部分已经被包含在第92页的纸张中。因此,实际需要撕下的纸张数量为80页到92页,一共是13张纸,但提交的答案只需要列出这些页码范围,即(80,81)、(82,83)...(92,93)。 2. **切面条问题**: 此题考察的是递归和序列计算。通过观察题目描述,每次对折面条并切一刀,都会使得面条数量翻倍。对于连续对折n次,初始为1根面条,对折1次得2根,对折2次得4根,以此类推。对折10次时,面条数量是2的10次方加1,即2^10 + 1。计算结果是1024 + 1 = 1025根面条。答案要求是整数,所以提交的答案就是1025。 3. **猜字母问题**: 这是一个关于字符串处理和约瑟夫环的问题。将19个字母组成的字符串重复拼接106次后,得到一个长度为2014的序列。然后按照题目描述,依次删除奇数位置的字母,每次删除相当于约瑟夫环中的“出圈”操作。当只剩下最后一个字母时,意味着最后一个不被删除的字母会是序列的最后一个位置,也就是在偶数位置上。由于原始字符串中每个字符的索引都是奇数,重复106次后,每个字符的位置都会是2的106次方,除以2后余1(因为每次循环都是翻倍,最后剩下的是最末尾的那个)。字符串的索引从0开始,所以答案是字符串中的最后一个字符,即'q'。 这三道题目综合考察了参赛者的编程基础、逻辑思维以及对特定问题解决策略的理解,既测试了Java编程能力,也考察了解决实际问题的能力。