第十二届蓝桥杯真题Python组 卡片

卡片 本题总分:5分 【问题描述】 小蓝有很多数字卡片,每张卡片上都是数字0到9

小蓝准备用这些卡片来拼一些数,他想从1开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。

小蓝想知道自己能从1拼到多少。

例如,当小蓝有30张卡片,其中0到9各3张,则小蓝可以拼出1到10,但是拼11时卡片1已经只有一张了,不够拼出11

现在小蓝手里有0到9的卡片各2021张,共20210张,请问小蓝可以从1拼到多少?

提示:建议使用计算机编程解决问题。

#用了2020个1
#结果为3181

count=0
for i in range(4000):
    i=str(i)
    for j in i:
        if j=="1":
            count+=1
            if count==2020:
                print(i)

count=0
for i in range(4000):
    i=str(i)
    for j in i:
        if j=="1":
            count+=1
    if count>=2020:
        print(i)
        break

counts=0
for i in range(4000):
    i=str(i)
    counts+=i.count("1")
    if counts>=2020:
        print(i)
        break
经验分享 程序员 微信小程序 职场和发展