2022 4月蓝桥杯解析+Python代码

2022 4月蓝桥杯解析+Python代码,第1张

题干大意:你有0-9的卡片若干张,需要从0开始拼数字 步长为1 直到数字用尽。


答案:3181

解题思路:由于数字的数量都是一样的 因此有一个数字肯定会最先用完 即 “1” 因此只需要判断 “1” 等于0的情况 就可以知道最后一个数是什么 

代码详解:这里我用的是字典 遍历每个值 每有一个“1”就减一次Value 到0代表卡片用完 停止

碎碎念:(By the way CSDN上对于Python 字典的详解真的少 而且很不全面 过几天有空了自己更一个 Source来自书:《Fundamentals of Python - Kenneth A.Lambert》

number = 2021
number_initial = 0
cardStore={"1":number}
while True:
	for letter in str(number_initial):
		# print(letter)
		if letter == "1":
			# print(cardStore["1"])
			number -= 1
			cardStore["1"] = number
	if int(cardStore["1"]) == 0:
		print(number_initial)
		break
	number_initial+=1

Tip:判断最后的答案并且终止循环 一定要注意顺序 

致谢川川大佬 这是他的代码 写的很好 分享给各位

num=0
for i in range(1,10000):
    num+=str(i).count("1")
    if num == 2021:
        print(i)
        break

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/577798.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存