一、ASC
题目链接:ASC - 蓝桥云课 (lanqiao.cn)
题目要求:
输出L的ascii码
解题思路:
直接printf("%d",'L');
二、排列数
题目链接:pailie~~数
题目要求:
解题思路:
这是一个可以用dp解的题,但是dp题解我不会写....有能力的自己尝试一下,加油
三、门牌制作
题目链接:门牌
题目要求:
小蓝要为一条街的住户制作门牌号。
这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。
小蓝制作门牌的方法是先制作 0 到9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7。
请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2?
解题思路:
因为求2的字符,所以我们定义一个函数来判断每一个数字里的每一位数有几个二然后返回,加上一个暴力循环就解决了。
#include<bits/stdc++.h> using namespace std; int pd(int x) { int num = 0; while(x) { if(x%10==2) { num++; } x/=10; } return num; } int main() { int sum = 0; for(int i=2;i<=2020;i++) { sum += pd(i); } cout << sum; return 0; }
四、跑步锻炼
题目链接:跑!!
题目要求:
小蓝每天都锻炼身体。
正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了激励自己,小蓝要跑 2 千米。如果同时是周一或月初,小蓝也是跑 2 千米。
小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1 日周六(含)到 2020 年 10 月 1 日周四(含)。请问这段时间小蓝总共跑步多少千米?
解题思路:比赛中遇到这种题 能手算一定手算 因为比代码快
首先计算天数 365*20+5 因为五个闰年所以加五天 然后1.1-10.1 13578 31天 155天 2是29 2020闰年 4630 总共60
365*20+5+155+29+60 = 7579 因为要算1.1 所以+1
看日历2000.1.3周一 所以(7580-2)/7 余6 看最后六天有个周一 加1 最后看一下日历重复日期算结果就好了
五、蛇形填数
题目链接:🐍
题目要求:
如下图所示,小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。
1 2 6 7 15 ... 3 5 8 14 ... 4 9 13 ... 10 12 ... 11 ... ...
容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20 列的数是多少?
解题思路:
直接找规律 一开始的中间是1 第二行二列5 三行三列13 每次都加上4的倍数 所以只要求20次就行,因为第一排是1 不用算了 所以sum直接初始化为1
#include<bits/stdc++.h> using namespace std; int main() { int sum = 1; for(int i=1;i<20;i++) { sum += i*4; } cout<<sum; return 0; }
六、既约分数
题目链接:约!!
题目要求:
如果一个分数的分子和分母的最大公约数是 1,这个分数称为既约分数。
例如 {3\4} ,{1}\{8} ,{7}\{1} 都是既约分数。
请问,有多少个既约分数,分子和分母都是 1 到 2020 之间的整数(包括 1 和 2020)
解题思路:
我们通过欧几里得算法求得最大公约数 在通过判断最大公约数是为1 暴力来得到答案
#include<bits/stdc++.h> using namespace std; int gcd(int a,int b) { if(a%b==0) { return b; } else { return gcd(b,a%b); } } int main() { int sum = 0; for(int i=1;i<=2020;i++) { for(int j=1;j<=2020;j++) { if(gcd(i,j)==1) { sum++; } } } cout<<sum; return 0; }
七、七段码
题目要求:
上图给出了七段码数码管的一个图示,数码管中一共有 7 段可以发光的二 极管,分别标记为a,b,c,d,e,f,g。
小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符 的表达时,要求所有发光的二极管是连成一片的。
例如:b 发光,其他二极管不发光可以用来表达一种字符。
例如 c 发光,其他二极管不发光可以用来表达一种字符。这种方案与上 一行的方案可以用来表示不同的字符,尽管看上去比较相似。
例如:a,b,c,d,e 发光,f,g 不发光可以用来表达一种字符。
例如:b,f 发光,其他二极管不发光则不能用来表达一种字符,因为发光 的二极管没有连成一片。
请问,小蓝可以用七段码数码管表达多少种不同的字符?
解题思路:
直接手算 记得画图标记一下 或者把abcdefg改成1234567
然后自己手算一下
亮1:7种(abcdefg)
亮2:10种(ab,af,bg,fg,gc,ge,ed,cd,fe,bc)
亮3:16种
亮4:20种
亮5:19种
亮6:7种
亮7:1种
这么数就可,如果怕不对 等做完后面的题再来数一遍 千万记得标记 不然可能乱了就。