20. 多少个字符2?

20. 多少个字符2?

天津科技大学第六届科技文化节算法设计大赛第20题

题目:

小蓝要为一条街的住户制作门牌号。
这条街一共有2020 位住户,门牌号从1 到2020 编号。
小蓝制作门牌的方法是先制作0 到9 这几个数字字符,最后根据需要将字符粘贴到门牌
上,例如门牌1017 需要依次粘贴字符1、0、1、7,即需要1 个字符0,2 个字符1,1
个字符7。
请问要制作所有的1 到4040 号门牌,总共需要多少个字符2?

解题思路:

这是一道典型的小学奥数题(嘻嘻)
在Python中可以使用字符串相加的方法,先给定一个空字符串,再从1至4040循环,先将数字转化为字符串形式,再将字符串加进去,最后在转化成list,使用count()方法返回2出现的次数

源代码

astr=''
for i in range(1,4041):
    astr=astr+str(i)
print(astr)
astr=list(astr)
print(astr)
print(astr.count('2'))

结果

2214

你可能感兴趣的:(算法,python,开发语言,后端)