蓝桥杯软件类竞赛—手算题攻略

算法竞赛》详细介绍

文章目录

  • 1. 巧用编辑器
    • (1)门牌制作
    • (2)2021年省赛新题”卡片”
  • 2. 眼看手数
    • (1)迷宫
    • (2)七段码
  • 3. 巧用Excel
    • (1)数字计算
    • (2)日期问题
  • 4. 巧用Python
    • (1)用Python算大数
    • (2)用Python处理字符
    • (3)2021年省赛新题

现在的蓝桥杯省赛,每次比赛有10题,其中5个填空,5个编程。
每次比赛都有“送分题”,只需要几分钟就能做出来。特别是部分填空题,只需要填答案,不用提交代码,那么可以用包括编码在内的多种方法。编码一般比较慢,所以能不编码就不要编码,而是用推理和手算找到答案。这种不用编码的填空题称为“手算题”。
竞赛的时间极为紧张,应选用最快的实现方式。
下面给出4种小技巧:巧用编辑器、眼看手数、巧用Excel、巧用Python。

1. 巧用编辑器

(1)门牌制作


题目来源:2020年度C++ A组,试题A: 门牌制作
题目描述:1到2020的所有数字中,共有多少个2/p>


这确实是个送分题,编码也很简单:判断每个数字中有几个2,然后把所有数字中2的个数加起来。编码大概5分钟。
但是有更简单的做法:先编码打印出1~2020这2020个数字,然后粘贴到一个编辑器(word、codeblocks都行)中,选替换功能,用某个字符替换‘2’,共替换624次,这就是答案。用时1分钟。
先用代码打印数字(用python写代码更短):

打印出2020个数字:

蓝桥杯软件类竞赛---手算题攻略 蓝桥杯软件类竞赛---手算题攻略

(2)七段码


题目来源:2020年度C++ A组,试题D: 七段码
题目描述:七段数码管,一共有7个发光二极管,问能表示多少种不同的字符,要求发光的二极管是相连的。


蓝桥杯软件类竞赛---手算题攻略

分7种情况:
亮一个灯:有7种情况,1、2、3、4、5、6、7;
亮两个灯:有12、13、23、24、25、…等等;
亮三个灯:有123、124、125、134、136、234、257…等等;
亮四个灯,这时不要直接数四个灯,情况与灭三个灯是等价的:灭123、灭124…等等;
亮五个灯,与灭两个灯等价:灭12、灭13、灭14、…等等;
亮六个灯,与灭一个灯等价,有7种情况;
亮七个灯,有1种情况。
对以上所有情况求和。

3. 巧用Excel

(1)数字计算


题目来源:2018年度C++ A组,试题1: 分数
题目描述:1/1 + 1/2 + 1/4 + 1/8 + 1/16 + …每项是前一项的一半,如果一共有20项,求这个和是多少,结果用分数表示出来。


编码很简单,几分钟就好。也可以用Excel手算,时间差不多,而且不用思考。
A列填分子,都是1;B列填分母,每行递增2倍,做法是,在B1填1,在B2填写“=B1*2”,然后按住B2往下拉到第20行,就填好了所有的分母。
然后通分求分子分母。分母就是B20的524288,分子实际上就是“SUM(B1:B20)”,用鼠标选中这个区域,Excel自动算出1048575。

蓝桥杯软件类竞赛---手算题攻略
图(1) 日期做减法

再用excel点2000年12月31日的属性,选星期,得“星期日”,说明答案就是5217。

蓝桥杯软件类竞赛---手算题攻略

答案 3181

(2)化药类2017林越洋的代码:

(3)光电181陈韬的代码。因为数字1用得最多,统计到哪个数字的时候用了2021次个1,就好了。

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34263 人正在系统学习中

来源:罗勇军

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月11日
下一篇 2022年9月11日

相关推荐