第一题:门牌制作

解答:作为填空题第一题,难度比较低,暴力查2即可。

cnt = 0
for i in range(1,2021):for j in str(i):if j == '2':cnt = cnt + 1print(cnt)  # 624

第二题:既约分数

题解:这个题我想到的办法就是暴力解决,生成1到2020的分母和1到2020的分子,看一看是不是最大公约数是不是为1,然后利用python本地库fraction进行分数相似性判断(看看是不是分数相等)。需要注意的是,暴力法python计算很慢。(反正是填空题,咱们先做下一道)

from fractions import Fractiondef gong_yue(m, n):if m > n:sm = nelse:sm = mfor i in range(1, sm + 1):if m % i == 0 and n % i == 0:hcf = ireturn hcftarget_lst = []
for i in range(1, 2021):for j in range(1, 2021):if gong_yue(i, j) == 1 and Fraction(i, j) not in target_lst:target_lst.append(Fraction(i, j))
print(len(target_lst))

实在想不起来python这个本地库的内容了,在idle上按F1打开帮助文档救急

第三题:蛇形填数

题解:我们不难看出1行1列数在1这个数组中,第2行第2列的数在第456数组中的中间位置,第三行第三列在11,12,13,14,15这个数组中的中间位置。我们按条斜线为一个数组,不难看出第n行n列就在等差数列数组1,3,5,7~~~中,即为第39个数组,我们先生成一个类似于[[1],[2,3],[4,5,6],[7,8,9,10]~~~]这样的形式代表一条斜线上的数字,第39条斜线数组即为位置为38位置的数组(从0开始算),这个数组内元素个数一定为奇数为29,那中间的位置为第15号(即为14号位置的元素),后边比较坑。

cnt = 1
num = 0
all_lst = []
lst = []
for i in range(1, 10000):lst.append(i)num = num + 1if cnt == num:all_lst.append(lst)lst = []cnt = cnt + 1num = 0
# 20行20列对应在第39次循环中
print(all_lst[38][14])
# 756

第四题:跑步训练

题解:这个题我做起来比较麻烦,要时刻不断地维护四个变量月中第n天,月份,星期,年。关系比较复杂,中间还穿插有闰年等东西,做题是要集中注意力,理清楚几个变量之间的关系,有个小技巧就是在运行工程中穿插print函数打印当前的一些数据,我们便能够轻松观察到问题出现在哪个地方,便可以快速解决。还有,在已经写完的代码上加上注释,看似麻烦其实大大减轻了我们的思考强度。

def run(n):if n % 4 == 0:return Trueelse:return Falserun_day = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
ping_day = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
start_year = 2000  # 记录年份
cnt_mon = 0  # 记录年中第几月
month_day = 1  # 记录月中第几天
cnt = 6  # 记录星期几
distance = 0  # 记录距离
while True:if cnt == 1 or month_day == 1:  # 判断当前距离distance = distance + 2else:distance = distance + 1if start_year == 2020 and cnt_mon == 9 and month_day == 1:breakif cnt == 7:  # 判断星期,进行星期迭代cnt = 1else:cnt = cnt + 1if run(start_year):if month_day == run_day[cnt_mon]:  # 闰年月份增加month_day = 1cnt_mon = cnt_mon + 1else:  # 闰年日期增加month_day = month_day + 1else:if month_day == ping_day[cnt_mon]:  # 平年月份增加month_day = 1cnt_mon = cnt_mon + 1else:  # 平年日期增加month_day = month_day + 1if cnt_mon == 12:  # 年份增加start_year = start_year + 1cnt_mon = 0
print(distance)  # 8879

第五题:七段码

题解:啊这个,还没学过。感觉有点像回溯。

第六题: 成绩统计

题解:这道题比较简单没什么说的

num = int(input())
chengji_lst = []good = 0
normal = 0
for i in range(num):c = int(input())if c >= 85:good = good + 1if c >= 60:normal = normal + 1
normal_range = normal / num * 100
good_range = good / num * 100
a = normal_range - int(normal_range)
b = good_range - int(good_range)
if a >= 0.5:normal_range = int(normal_range) + 1
else:normal_range = int(normal_range)
if b >= 0.5:good_range = int(good_range) + 1
else:good_range = int(good_range)
print(str(normal_range) + '%')
print(str(good_range) + '%')

第七题:回文日期

解题思路:这个题我认为跟上边的跑步锻炼那个题差不多,部分代码复制一下就可以解决这个问题

def run(n):if n % 4 == 0:return Trueelse:return Falserun_day = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
ping_day = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]data = input()
year = int(data[0:4])
month = int(data[4:6])
day = int(data[6:])
status = []
hashmap = {}
while True:if run(year):if day == run_day[month - 1]:day = 1month = month + 1else:day = day + 1else:if day == ping_day[month - 1]:day = 1month = month + 1else:day = day + 1if month == 13:year = year + 1month = 1str_month = str(month)str_day = str(day)if len(str(month)) == 1:str_month = '0' + str(month)if len(str(day)) == 1:str_day = '0' + str(day)ge_shi = str(year) + str_month + str_dayif ge_shi == ge_shi[::-1]:if 'a' not in status:hashmap['normal'] = ge_shistatus.append('a')if ge_shi[0:2] == ge_shi[2:4] and ge_shi[7:5:-1] == ge_shi[5:3:-1] and ge_shi[0:2] == ge_shi[7:5:-1]:hashmap['ab'] = ge_shibreak
print(hashmap['normal'])
print(hashmap['ab'])

 第八题:子串分值和

题解:利用集合的特性

a = input()
long = len(a)
head = 0
tail = 1
s = 0
while True:s = len(set(a[head:tail])) + sif tail == long:head = head + 1tail = head + 1else:tail = tail + 1if head == long:breakprint(s)

第九题:平面切分

后边这两道实在做不出来

蓝桥杯真题系列:第十一届蓝桥杯C语言B组集锦相关推荐

  1. 【2020蓝桥杯】Python组真题解析 - 第十一届蓝桥杯

    本资料整理者&代码编写者:夏2同学 个人邮箱:1754082565@qq.com 请勿未经同意转载 & 如有错误,欢迎指正 资料下载:https://download.csdn.net ...

  2. 蓝桥杯真题系列:C语言A组奇妙的数字

    小明发现了一个奇妙的数字.它的平方和立方正好把0~9的10个数字每个用且只用了一次. 你能猜出这个数字是多少吗? 请填写该数字,不要填写任何多余的内容. 这个题题意比较简单,解决办法也是非常简单,暴力 ...

  3. 【蓝桥杯真题】2021年蓝桥杯省赛A组题目解析+代码(python组)

    2021年蓝桥杯省赛A组题解(python组) 来自微信公众号:算法梦工厂,二维码见文末. 欢迎加入蓝桥杯备赛群:768245918,获取往届试题,测试数据,算法课程等相关资源. A:卡片 答案:31 ...

  4. 第八届蓝桥杯真题解析javaC组

    第八届蓝桥杯真题解析javaC组 文章目录 ***第八届蓝桥杯真题解析javaC组*** 前言 A.外星日历 B.兴趣小组 C.纸牌三角形 D.承压计算 E.杨辉三角 F.最大公共子串 G.Excel ...

  5. 2016年第七届蓝桥杯真题解析JavaC组

    相关题目: 2016年第七届蓝桥杯真题解析JavaB组 2016年第七届蓝桥杯真题解析JavaC组 2017年第八届蓝桥杯真题解析JavaB组 2017年第八届蓝桥杯真题解析JavaC组 2018年第 ...

  6. python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在19351936年应邀来中国清华大学讲学。。。

    python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中国清华大学讲学... 问题描述 全排列模板: 美国数学家维纳(N. ...

  7. 第五届蓝桥杯真题解析【JavaC组】

    第五届蓝桥杯真题解析[JavaC组] 业精于勤,荒于嬉:行成于思,毁于随.--韩愈 文章目录 ***第五届蓝桥杯真题解析[JavaC组]*** 前言 A:猜年龄 B:等额本金 C:猜字母 D:大衍数列 ...

  8. 【蓝桥杯真题】16天冲刺 Python

    距离比赛很快了,希望和我一起准备的PY党能更加熟练的掌握Python! 1.距离和(模拟赛填空题) 问题描述: 两个字母之间的距离定义为它们在字母表中位置的距离.例如 A和 C 的距离为 2,L 和  ...

  9. 蓝桥杯真题:三羊献瑞

    蓝桥杯真题:三羊献瑞 观查下面的加法算式: 其中相同的汉字代表相同的数字,不同的汉字代表不同的数字. 请你填写"三羊献瑞"所代表的4位数字(答案唯一),不要填写任何多余内容. 分析 ...

最新文章

  1. javascript日期时间操作总结
  2. PTA 09-排序3 Insertion or Heap Sort (25分)
  3. 变异蛮牛 树,dfs,二分图染色 牛客白月赛44
  4. 微信js-sdk使用
  5. Lintcode: O(1) Check Power of 2
  6. 需求调研计划_Mysteel调研:需求持续放量工业线材下游调研
  7. 职称计算机 宜兴,关于报送2020年经济、石油化工工程、 电子信息工程和工艺美术高级专业技术资格评审材料的通知...
  8. JS删除数组中某一项或几项的方法汇总
  9. Spring Boot入门篇-默认安全配置
  10. 这可能是有史以来最详细的JNI入门教程
  11. python判断整数是否对称_刷题系列 - Python判断是否镜像对称二叉树
  12. linux系统怎么启动服务器,Linux操作系统的启动步骤详细说明
  13. 小游戏开发设计之塔防类游戏
  14. linux程序休眠,Linux 休眠原理与实现
  15. Linux服务器cpu性能模式,linux cpu开启性能模式
  16. 04_消息中心(MessageCenter)
  17. 高等数学学习笔记——第四十九讲——一阶常微分方程的求解
  18. IT行业工作的就业方向
  19. if-else优化之拥抱规则引擎
  20. R语言ARIMA集成模型预测时间序列分析

热门文章

  1. 通过矩形的中心坐标与原顶点坐标以及旋转角度计算矩形的旋转后4个顶点的位置...
  2. 化工厂在岗人员定位系统-化工厂人员定位-化工厂定位-新导智能
  3. for..in和for ..of的用法
  4. 用了这么久的消息队列,你知道为什么需要它吗?
  5. 数据库子查询 含义-分类-语句
  6. 以TSPITR方式恢复表空间数据一例
  7. HTTP协议压缩格式和URL编码介绍
  8. 关于数据仓库面试题的整理
  9. 2021年展望Android原生开发的现状,你不懂还不学?
  10. CUDA C++ Programming Guide——编程模型