题目
标签:填空题
2021
省赛
代码
# 方法1
import os
import sys
# 请在此输入您的代码
num = ''
i = 1
while num.count('1')<2021:
num = ''.join((num,str(i)))
i += 1
print(i-1)
# 方法2(推荐)
import os
import sys
# 请在此输入您的代码
count = 0
i = 1
while count<2021:
count += str(i).count('1')
i += 1
print(i-1)
算法思想
从 1 开始消耗卡片拼数字,求当消耗完 2021 张 0-9 的卡片后,刚好拼到几。
1-10 共消耗了 2 张 1,其余数字各 1 张,所以 1 是最先被消耗完的,故以 1 的数量作为循环的判别标准。
笔记
在此处我第一次想到,字符串是不是列表? 经查阅资料,在很多语言中,字符串的本质都是 字符列表 。
这代表着它有着和列表相似的特性,并可以使用列表的一些方法。但这并不代表完全等同,所以有一些针对列表的操作并不能对字符串进行使用(具体请查阅参考资料)。