题目
请求出在 12345678 至 98765432 中,有多少个数中完全不包含 2023 。
完全不包含 2023 是指无论将这个数的哪些数位移除都不能得到 2023 。
例如 20322175,33220022 都完全不包含 2023,而 20230415,20193213 则
含有 2023 (后者取第 1, 2, 6, 8 个数位) 。
输入格式
输入仅包含两行,每行描述一个矩形。
在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。
输出格式
输出仅包含一个实数,为交的面积,保留到小数后两位。
思路
用字符串的find方法。可以指定搜索的范围,那么搜完第一个,我们将范围缩小来继续搜。
只要有一个找不到就返回False。
代码
s = 0 #记录总数
def sfind(i):
a1 = i.find('2')
if a1 == -1: #如果找不到就说明满足题意进行返回
return False
a2 = i.find('0',a1)
if a2 == -1:
return False
a3 = i.find('2',a2)
if a3 == -1:
return False
a4 = i.find('3',a3)
if a4 == -1:
return False
return True
for i in range(12345678,98765432+1):
i = str(i) #转字符串进行判断
sum = sfind(i)
if sum is False:
s+=1
print(s)
运行结果