2020蓝桥杯省赛B组python题填空题题解(部分)

因为没有题目,只能大概描述一下我完成的部分题目以及解析

A门牌制作

题目

小兰要为1-2020住户制作门牌号,例如制作1107号门牌,需要制作2块‘1’字符,一块‘0’字符,一块‘7’字符,求制作1-2020需要多少块‘2’.

解析

count = 0
n=m=0
for i in range(1,2021):
    while i>0:
        n = i %10
        if n == 2:
            count +=1
        i = i//10
print(count)

结果为

624

这道题可能存在的坑就是要制作第2020,有的同学可能就会忘记

C题 蛇形数字

题目

将数字按照顺序填入矩阵中,需要找到第20行20列位置的数字是多少

2020蓝桥杯省赛B组python题填空题题解(部分)_第1张图片
类似于这样的数字

解答

这道题我没有使用代码计算,主要是没想到好的解题思路,通过找规律,发现了一些有趣的事情
2020蓝桥杯省赛B组python题填空题题解(部分)_第2张图片
仔细看因为我们是要找20行20列,所以,我找了前几个x列x行,发现是数字1,5,13,25,41
通过找规律发现:5是(2,2)13是(3,3)25是(4,4)
5=1+2+(2x2)/2
13=1+2+3+4+(3x2)/2
25=1+2+3+4+5+6+(4x2)/2
可推出n行n列为:
m=1+2+3+…+(n-1)x2+n
所以结果为

761

D组跑步

题目

小明从2000年1月1日开始跑步,到2020年10月1日,每天跑1公里,遇到月初或者周一多跑一公里,不重复叠加

解答

day = week =yue = 0
for i in range(2000,2021):
    if i % 4==0 and i % 100 !=0 or i %400 ==0:
        day +=366
    else :
        day +=365
day = day - 91
week =(day-2) // 7
yue = 12 *20 +10
day = day +week +yue -33
print(day) 

上面减的33为周一和月1号重合,减去多余的重合
结果为

8879

你可能感兴趣的:(Python)