蓝桥杯
蓝桥杯赛题题解
海岛Blog
专注于程序设计及其竞赛,专注于集成电路EDA设计
展开
-
LQ0274 密码发生器【水题】
在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了。这个程序的任务就是把一串拼音字母转换为 6 位数字(密码)。我们可以使用任何好记的拼音串(比如名字,王喜明,就写:wangximing )作为输入,程序输出 6 位数字。原创 2022-11-28 07:34:57 · 824 阅读 · 0 评论 -
LQ0273 取球游戏【博弈】
今盒子里有 n 个小球,A、B 两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。我们约定:每个人从盒子中取出的球的数目必须是:1,3,7 或者 8 个。轮到某一方取球时不能弃权!A 先取球,然后双方交替取球,直到取完。被迫拿到最后一个球的一方为负方(输方)请编程确定出在双方都不判断失误的情况下,对于特定的初始球数,A 是否能赢?原创 2022-11-28 07:03:30 · 503 阅读 · 0 评论 -
LQ0272 矩形运算【计算几何】
在编写图形界面软件的时候,经常会遇到处理两个矩形的关系。如图 1 所示,矩形的交集指的是:两个矩形重叠区的矩形,当然也可能不存在(参看图 2 )。两个矩形的并集指的是:能包含这两个矩形的最小矩形,它一定是存在的。原创 2022-11-28 06:46:32 · 938 阅读 · 0 评论 -
LQ0271 罗马数字【记数法】
古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来简直不能忍受,所以在现代很少使用了。之所以这样,不是因为发明表示法的人的智力的问题,而是因为一个宗教的原因,当时的宗教禁止在数字中出现 0 的概念!原创 2022-11-27 22:38:07 · 526 阅读 · 0 评论 -
LQ0270 手机尾数【水题】
30 年的改革开放,给中国带来了翻天覆地的变化。2011 全年中国手机产量约为 11.72 亿部。手机已经成为百姓的基本日用品!给手机选个好听又好记的号码可能是许多人的心愿。但号源有限,只能辅以有偿选号的方法了。这个程序的目的就是:根据给定的手机尾号(4 位),按照一定的规则来打分。其规则如下:如果出现连号,不管升序还是降序,都加 5 分。例如:5678,4321 都满足加分标准。原创 2022-11-27 22:15:40 · 524 阅读 · 0 评论 -
LQ0269 土地测量【水题】
造成高房价的原因有许多,比如土地出让价格。既然地价高,土地的面积必须仔细计算。遗憾的是,有些地块的形状不规则,比如是如下图中所示的五边形。在这里插入图片描述一般需要把它划分为多个三角形来计算。原创 2022-11-27 21:14:02 · 470 阅读 · 0 评论 -
LQ0268 古堡算式【枚举+进制】
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE ∗ ?=EDCBA他对华生说:“ABCDE 应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!”于是,两人沉默了好久,还是没有算出合适的结果来。请你利用计算机的优势,找到破解的答案。把 ABCDE 所代表的数字写出来。原创 2022-11-27 20:22:50 · 625 阅读 · 0 评论 -
LQ0267 微生物增殖【模拟】
假设有两种微生物 X 和 Y。X 出生后每隔 3 分钟分裂一次(数目加倍),Y 出生后每隔 2 分钟分裂一次(数目加倍)。一个新出生的 X,半分钟之后吃掉 1 个 Y,并且,从此开始,每隔 1 分钟吃 1 个 Y。现在已知有新出生的 X=10, Y=89,求 60 分钟后Y的数目。原创 2022-11-27 19:47:16 · 392 阅读 · 0 评论 -
LQ0266 巧排扑克牌【模拟】
小明刚上小学,学会了第一个扑克牌“魔术”,到处给人表演。魔术的内容是这样的:他手里握着一叠扑克牌:A,2,....J,Q,K 一共 13 张。他先自己精心设计它们的顺序,然后正面朝下拿着,开始表演。只见他先从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是 A;然后再从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是 2;......如此循环直到手中只有一张牌,翻开放桌子上,刚好是 K。这时,桌上牌的顺序是:A,2,3,4,5,6,7,8,9,10,J,Q,K。原创 2022-11-27 19:22:39 · 835 阅读 · 0 评论 -
LQ0265 汉诺塔【水题】
汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着 64 片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上(可以借助第三根柱子做缓冲)。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。如下图所示是现代“山寨”版的该玩具。64 个圆盘太多了,所以减为 7 个,金刚石和黄金都以木头代替了......但道理是相同的。原创 2022-11-27 09:09:31 · 519 阅读 · 0 评论 -
LQ0264 鲁卡斯队列【精度计算】
黄金分割数 0.618 与美学有重要的关系。舞台上报幕员所站的位置大约就是舞台宽度的 0.618 处,墙上的画像一般也挂在房间高度的 0.618 处,甚至股票的波动据说也能找到 0.618 的影子....黄金分割数是个无理数,也就是无法表示为两个整数的比值。0.618 只是它的近似值,其真值可以通过对 5 开方减去 1 再除以 22 来获得,我们取它的一个较精确的近似值:0.618034。原创 2022-11-27 08:47:58 · 238 阅读 · 0 评论 -
LQ0263 猜生日【枚举】
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。今年的植树节(2012 年 3 月 12 日),小明和他的叔叔还有小伙伴们一起去植树。休息的时候,小明的同学问他叔叔多大年纪,他叔叔说:“我说个题目,看你们谁先猜出来!”“把我出生的年月日连起来拼成一个 8 位数(月、日不足两位前补 0)正好可以被今天的年、月、日整除!”他想了想,又补充到:“再给个提示,我是 6 月出生的。”根据这些信息,请你帮小明算一下,他叔叔的出生年月日。原创 2022-11-27 08:24:58 · 230 阅读 · 0 评论 -
LQ0262 棋盘放麦子【大数+亿进制】
你一定听说过这个故事。国王对发明国际象棋的大臣很佩服,问他要什么报酬,大臣说:请在第 11 个棋盘格放 11 粒麦子,在第 22 个棋盘格放 22 粒麦子,在第 33 个棋盘格放 44 粒麦子,在第 44 个棋盘格放 88 粒麦子,......后一格的数字是前一格的两倍,直到放完所有棋盘格(国际象棋共有 6464 格)。国王以为他只是想要一袋麦子而已,哈哈大笑。当时的条件下无法准确计算,但估算结果令人吃惊:即使全世界都铺满麦子也不够用!请你借助计算机准确地计算,到底需要多少粒麦子。原创 2022-11-27 01:13:58 · 358 阅读 · 2 评论 -
LQ0261 画表格【文本处理】
在图形环境中很容易做出漂亮的表格。但在控制台环境中就比较困难了。有的时候可以用一些符号大略地模拟:+-------+------+|abc |xyz=tt|+-------+------+|hellomm|t2 |+-------+------+本题目要求设计一个程序,把用户输入的内容用这种"准表格"的方式展现出来原创 2022-11-26 18:38:54 · 133 阅读 · 0 评论 -
LQ0259 绘制表格【水题】
在中文 Windows 环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。原创 2022-11-26 00:15:19 · 177 阅读 · 0 评论 -
LQ0258 上三角方阵【下标计算】
方阵的主对角线之上称为"上三角"。请你设计一个用于填充 n 阶方阵的上三角区域的程序。填充的规则是:使用 1,2,3.... 的自然数列,从左上角开始,按照顺时针方向螺旋填充。原创 2022-11-26 00:12:03 · 204 阅读 · 0 评论 -
LQ0257 金额查错【DFS】
某财务部门结账时发现总金额不对头。很可能是从明细上漏掉了某 1 笔或几笔。如果已知明细账目清单,能通过编程找到漏掉的是哪 1 笔或几笔吗?如果有多种可能,则输出所有可能的情况。原创 2022-11-25 22:52:28 · 383 阅读 · 0 评论 -
LQ0256 5个砝码【DFS】
用天平称重时,我们希望用尽可能少的砝码组合称出尽可能多的重量。如果只有 5 个砝码,重量分别是 1,3,9,27,81。则它们可以组合称出 1 到 121 之间任意整数重量(砝码允许放在左右两个盘中)。本题目要求编程实现:对用户给定的重量,给出砝码组合方案。原创 2022-11-25 21:25:14 · 365 阅读 · 0 评论 -
LQ0255 串的处理【文本处理】
在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下:把每个单词的首字母变为大写。把数字与字母之间用下划线字符(_)分开,使得更清晰把单词中间有多个空格的调整为 1 个空格。原创 2022-11-25 11:36:44 · 337 阅读 · 0 评论 -
LQ0254 轮换【程序填空】
串“abcd”每个字符都向右移位,最右的移动到第一个字符的位置,就变为“dabc”。这称为对串进行位移=1的轮换。同理,“abcd”变为:“cdab”则称为位移=2的轮换。下面的代码实现了对串 s 进行位移为 nn 的轮换。请补全缺失的代码。原创 2022-11-25 09:55:34 · 124 阅读 · 0 评论 -
LQ0253 最近距离【程序填空】
已知平面上的若干点的位置,存入一个List中。现在需要计算所有这些点中,距离最近的两个点间的最小距离。请补全缺失的代码。原创 2022-11-25 09:43:54 · 132 阅读 · 0 评论 -
LQ0252 基因牛【程序填空】
张教授采用基因干预技术成功培养出一头母牛,三年后,这头母牛每年会生出1头母牛, 生出来的母牛三年后,又可以每年生出一头母牛。如此循环下去,请问张教授 nn 年后有多少头母牛?以下程序模拟了这个过程,请填写缺失的代码。原创 2022-11-25 07:25:04 · 141 阅读 · 0 评论 -
LQ0251 概率问题【程序填空】
某个袋子中有红球 m 个,白球 n 个。现在要从中取出 x 个球。那么红球数目多于白球的概率是多少呢?下面的代码解决了这个问题。其中的 y 表示红球至少出现的次数。 这与前文的问题是等价的。因为如果取 30 个球,要求红球数大于白球数,则等价于至少取出 16 个红球。请根据仅存的线索,判断程序逻辑,并补全缺少的代码。原创 2022-11-25 07:12:09 · 185 阅读 · 0 评论 -
LQ0250 n进制小数【程序填空】
将任意十进制正小数分别转换成 2,3,4,5,6,7,8,9 进制正小数,小数点后保留 8 位,并输出。原创 2022-11-25 07:04:18 · 188 阅读 · 0 评论 -
LQ0249 干支纪年【程序填空】
在我国古代和近代,一直采用干支法纪年。它采用 10 天干和 12 地支配合,一个循环周期为 60 年。10 天干是:甲,乙,丙,丁,戊,己,庚,辛,壬,癸;12 地支是:子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥。如果某年是甲子,下一年就是乙丑,再下是丙寅,......癸酉,甲戌,乙亥,丙子,....总之天干、地址都是循环使用,两两配对。今年(2012)是壬辰年,1911 年辛亥革命下面的代码根据公历年份输出相应的干支法纪年。已知最近的甲子年是1984 年。原创 2022-11-25 06:33:32 · 177 阅读 · 0 评论 -
LQ0248 歌赛新规【程序填空】
歌手大赛的评分规则一般是去掉一个最高分,去掉一个最低分,剩下的分数求平均。当评委较少的时候,如果我们只允许去掉一个分数,该如何设计规则呢?有人提出:应该去掉与其余的分数平均值相差最远的那个分数。即“最离群”的分数。以下的程序用于实现这个功能。其中 x 存放所有评分,n 表示数组中元素的个数。函数返回最“离群”的那个分数值。请补全缺失的代码。请仔细阅读代码,并填写划线部分缺失的代码。原创 2022-11-25 06:33:05 · 136 阅读 · 0 评论 -
LQ0247 第一个数字【程序填空】
以下的静态方法实现了:把串s中第一个出现的数字的值返回。如果找不到数字,返回-1。请仔细阅读代码,并填写划线部分缺失的代码。原创 2022-11-24 22:31:37 · 103 阅读 · 0 评论 -
LQ0246 孪生素数【程序填空】
所谓孪生素数指的就是间隔为 2 的相邻素数,它们之间的距离已经近得不能再近了,就象孪生兄弟一样。最小的孪生素数是 (3, 5),在 100 以内的孪生素数还有 (5, 7), (11, 13), (17, 19), (29, 31), (41, 43), (59, 61) 和 (71, 73),总计有 8 组。但是随着数字的增大,孪生素数的分布变得越来越稀疏,寻找孪生素数也变得越来越困难。那么会不会在超过某个界限之后就再也不存在孪生素数了呢?孪生素数有无穷多对!这个猜想被称为孪生素数猜想,至今没有被严格原创 2022-11-24 21:54:44 · 191 阅读 · 0 评论 -
LQ0245 最大数【程序填空】
[12,127,85,66,27,34,15,344,156,344,29,47,…]这是某设备测量到的工程数据。因工程要求,需要找出最大的5个值。一般的想法是对它排序,输出前5个。但当数据较多时,这样做很浪费时间。因为对输出数据以外的数据进行排序并非工程要求,即便是要输出的 5 个数字,也并不要求按大小顺序,只要找到 5 个就可以。原创 2022-11-24 21:43:42 · 153 阅读 · 0 评论 -
LQ0244 开平方【程序填空】
如果没有计算器,我们如何求 2 的平方根?可以先猜测一个数,比如 1.5,然后用 2 除以这个数字。如果我们猜对了,则除法的结果必然与我们猜测的数字相同。我们猜测的越准确,除法的结果与猜测的数字就越接近。原创 2022-11-24 21:32:10 · 92 阅读 · 0 评论 -
LQ0243 割圆【程序填空】
南北朝时,我国数学家祖冲之首先把圆周率值计算到小数点后六位,比欧洲早了 1100 年!他采用的是称为“割圆法”的算法,实际上已经蕴含着现代微积分的思想。如下图所示,圆的内接正六边形周长与圆的周长近似。多边形的边越多,接近的越好!我们从正六边形开始割圆吧。原创 2022-11-24 21:19:14 · 128 阅读 · 0 评论 -
LQ0242 圆周率【程序填空】
我国古代数学家对圆周率方面的研究工作,成绩是突出的。三国时期的刘徽、南北朝时期的祖冲之都在这个领域取得过辉煌战绩。有了计算机,圆周率的计算变得十分容易了。如今,人们创造了上百种方法求π的值。其中比较常用且易于编程的是无穷级数法。π/4 = 1 – 1/3 + 1/5 – 1/7 + 1/9 - …是初学者特别喜欢的一个级数形式,但其缺点是收敛太慢。原创 2022-11-24 20:32:33 · 158 阅读 · 0 评论 -
LQ0241 身份证号校验【程序填空】
如果让你设计个程序,用什么变量保存身份证号码呢?长整数可以吗?不可以!因为有人的身份证最后一位是 "X"。实际上,除了最后一位的 X,不会出现其它字母!身份证号码 18 位 = 17 位 + 校验码校验码的计算过程:例如:身份证前 17 位 = ABCDEFGHIJKLMNOPQA~Q 每位数字乘以权值求和(每位数字和它对应的“权”相乘后累加)。原创 2022-11-24 06:46:14 · 320 阅读 · 0 评论 -
LQ0240 括号问题【程序填空】
下面的代码用于判断一个串中的括号是否匹配。所谓匹配是指不同类型的括号必须左右呼应,可以相互包含,但不能交叉。若匹配,则输出 true,否则输出 false。例如:..(..[..]..).. 是允许的;..(...[...)....].... 是禁止的。原创 2022-11-24 06:45:59 · 114 阅读 · 0 评论 -
LQ0239 方阵旋转【代码填空】
对一个方阵转置,就是把原来的行号变列号,原来的列号变行号例如,如下的方阵:原创 2022-11-24 06:45:42 · 176 阅读 · 0 评论 -
LQ0238 神秘的三位数【程序填空】
有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身。即:abc = a! + b! + c!下面的程序用于搜索这样的3位数。请仔细阅读代码,并填写划线部分缺失的代码。原创 2022-11-24 06:44:45 · 297 阅读 · 0 评论 -
LQ0237 金字塔【程序填空】
下面代码的目标是输出一个大写字母组成的金字塔。 其中 space 表示金字塔底距离左边的空白长度,x 表示金字塔底的中心字母。 比如:space=0, x=‘C’,则输出:原创 2022-11-23 18:06:46 · 130 阅读 · 1 评论 -
LQ0236 计算行程【程序填空】
低碳生活,有氧运动。骑自行车出行是个好主意。小明为自己的自行车装了个计数器,可以计算出轮子转动的圈数。在一次骑车旅行中,出发时计算器的示数为 beginbegin,到达目的地时的示数为 endend。下列代码计算了小明一共骑行了多远(单位:公里)。其中 dd 表示小明自行车轮子的直径(单位:米)。请填写缺失的代码。原创 2022-11-23 17:52:30 · 96 阅读 · 0 评论 -
LQ0235 扑克牌移动【程序填空】
下面代码模拟了一套扑克牌(初始排序 A ~ K,共 13 张)的操作过程。操作过程是: 手里拿着这套扑克牌,从前面拿一张放在后面,再从前面拿一张放桌子上,再从前面拿一张放在后面,.... 如此循环操作,直到剩下最后一张牌也放在桌子上。下面代码的目的就是为了求出最后桌上的牌的顺序。请仔细阅读代码,并填写划线部分缺失的代码。原创 2022-11-23 11:50:45 · 188 阅读 · 0 评论 -
LQ0234 大数乘法【程序填空】
对于 32 位字长的机器,大约超过 20 亿,用 int 类型就无法表示了,我们可以选择 int64 类型,但无论怎样扩展,固定的整数类型总是有表达的极限!如果对超级大整数进行精确运算呢?一个简单的办法是:仅仅使用现有类型,但是把大整数的运算化解为若干小整数的运算,即所谓:“分块法”。如图下图表示了分块乘法的原理。可以把大数分成多段(此处为 2 段)小数,然后用小数的多次运算组合表示一个大数。原创 2022-11-23 11:09:59 · 225 阅读 · 0 评论