作者:指针不指南吗
专栏:蓝桥杯倒计时冲刺🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾
文章目录
- 1.年号字串
- 2.裁纸刀
- 3.猜生日
1.年号字串
-
题目
链接: 年号字串 - 蓝桥云课 (lanqiao.cn)
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26。对于 27 以上的数字,小明用两位或更长位的字符串来对应,例如 A A 对应 2727,A B 对应 28,A Z 对应 52,L Q 对应 329。
请问 2019 对应的字符串是什么?
-
AC 100%
#include<bits/stdc++.h> using namespace std; int main() { int n=2019; for(int i=1;i<=26;i++) { for(int j=1;j<=26;j++) { for(int k=1;k<=26;k++) { if(i*26*26+j*26+k==n) { cout<<i<<' '<<j<<' '<<k<<endl; return 0; } } } } return 0; }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
虽然简单,但是这是这几天为数不多 AC 100% 的 T_T
-
反思
26进制,首先确定范围,需要三位就行,所以三重循环就可以了
1~26,映射成 英文字母
2.裁纸刀
-
题目
链接: 裁纸刀 - 蓝桥云课 (lanqiao.cn)
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝有一个裁纸刀,每次可以将一张纸沿一条直线裁成两半。
小蓝用一张纸打印出两行三列共 6 个二维码,至少使用九次裁出来,下图给出了一种裁法。
在上面的例子中,小蓝的打印机没办法打印到边缘,所以边缘至少要裁 4 次。另外,小蓝每次只能裁一张纸,不能重叠或者拼起来裁。
如果小蓝要用一张纸打印出 20 行 22 列共 440 个二维码,他至少需要裁多少次?
-
我的题解
这个题为规律题,手算题;
剪的次数=4+(row-1)+row*(col-1)即可
3.猜生日
-
题目
链接: 猜生日 - 蓝桥云课 (lanqiao.cn)
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
今年的植树节(20122012 年 33 月 1212 日),小明和他的叔叔还有小伙伴们一起去植树。休息的时候,小明的同学问他叔叔多大年纪,他叔叔说:“我说个题目,看你们谁先猜出来!”
“把我出生的年月日连起来拼成一个 88 位数(月、日不足两位前补 00)正好可以被今天的年、月、日整除!”
他想了想,又补充到:“再给个提示,我是 66 月出生的。”
根据这些信息,请你帮小明算一下,他叔叔的出生年月日。
格式是年月日连成的 88 位数。例如,如果是 19481948 年 66 月 1212 日,就写:1948061219480612。
-
第一次
#include <iostream> using namespace std; int main() { cout<<20120312/2; return 0; }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
离谱,我以为是被年月日,整个数整除,我还寻思着怎么着也不能活了一千岁
-
第二次 AC100%
#include<bits/stdc++.h> using namespace std; int main() { int n=20120312; //表示年 for(int i=1900;i<=2012;i++) { //表示日 for(int k=1;k<=30;k++) { int d=i*10000+6*100+k; if(d%2012==0&&d%3==0&&d%12==0) cout<<i<<06<<k; } } return 0; }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
-
反思
注意谁除谁,觉得结果很离谱,就转化一下思维,从另一个角度来理解题