蓝桥杯刷题day05——2023
1、题目描述
请求出在12345678 (含) 至 98765432 (含) 中 ,有多少个数中完全不包含 2023。
完全不包含 2023是指 无论将这个数的哪些数位移除都不能得到2023。
例如 20322175,33220022 都完全不包含 2023,
而20230415,20193213 则含有 2023 (后者取第 1,2,6,8个数位) 。
2、解析
在给定数字范围内,完全不包含数字2023的所有数字的数量。
首先,我们需要明确什么是“完全不包含2023”。
这意味着无论我们移除这个数字的哪个部分,都不能得到数字2023。
例如,数字20322175和33220022都完全不包含2023,因为无论我们移除哪个部分,都不能得到2023。
但是,数字20230415和20193213则包含2023,因为如果我们移除某些部分,可以得到2023。
解题思路如下:
遍历给定的数字范围,即从12345678到98765432。
对于每个数字,尝试移除其各个部分,检查是否可以得到数字2023。
如果不能得到数字2023,则计数器加1。
返回计数器的值作为结果。
3、python代码
# count=0
# for n in range(12345678,98765433):
# ls = ["2", "0", "2", "3"]
# for i in ls:
# if i not in str(n):
# count+=1
# break
# else:
# for j in str(n):
# if ls:
# if j==ls[0]:
# ls.pop(0)
# else:
# break
# if ls:
# count+=1
# print(count)
print(85959030)