1 真题![](https://img-blog.csdnimg.cn/dfcc3fd168214706be778b5d439066bb.png)
2 解析
难度系数:⭐
考察题型:枚举
涉及知识点: 字符串:str() 计数方法:.count()
思路分析:
第一题就这么暴力,不愧是BF杯。循环就完事了!
经过一波分析,从材料中“拼11时卡片1已经只有一张了”推理出卡片1最先
原因是0到9十张卡片,从1开始拼,1最先使用,也就意味着1最先用光。
然后得出思路:先循环遍历可以拼出的数字,再将整数格式转换成字符串格式,
为的是调用count()方法,来统计"1"出现的次数,
那么当"1"出现了2021次时,题目就被KO了!
3 代码
#卡片
count=0 #计数器:统计1的个数
i=1 #从1开始遍历
while True: #循环次数未知,用while循环
count+=str(i).count("1") #.count("1")方法:统计i中"1"出现的次数
if count>2021: #如果"1"出现2021次,说明这次循环中卡片1刚好用完
print(i-1) #打印输出结果:3182-1
break
i+=1
📍我写的是关于蓝桥杯的系列题解,感谢关注我的朋友们,我会持续输出高质量文章💪🏻
蓝桥杯python组十二届省赛真题+解析+代码(通俗易懂版)_编程有了思路-CSDN博客_蓝桥杯大赛python小蓝有很多数字卡片,每张卡片上都是数字 0 到 9。小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。小蓝想知道自己能从 1 拼到多少。例如,当小蓝有 30 张卡片,其中 0 到 9 各 3 张,则小蓝可以拼出 1 到 10,但是拼 11 时卡片 1 已经只有一张了,不够拼出 11。现在小蓝手里有 0 到 9 的卡片各 2021 张,共 20210 张,请问小蓝可以从 1拼到多少?https://blog.csdn.net/m0_55148406/article/details/122774029