十四届蓝桥青少组模拟赛Python-20221108

十四届蓝桥青少组模拟赛Python-20221108
T1.二进制位数
十进制整数2在十进制中是1位数,在二进制中对应10,是2位数。
十进制整数22在十进制中是2位数,在二进制中对应10110,是5位数。
请问十进制整数2022在二进制中是几位数?

print(len(bin(2022))-2)
#运行结果:11

T2.晨跑
小蓝每周六、周日都晨跑,每月的1、11、21、31日也晨跑。其它时间不晨跑。
已知2022年1月1日是周六,请问小蓝整个2022年晨跑多少天?

# 样例代码1
ls=[0,31,28,31,30,31,30,31,31,30,31,30,31]
ans=0
k=6
for i in range(1,13):
    for j in range(1,ls[i]+1):
        if (k in [6,7]) or (j in [1, 11, 21, 31]):
            ans+=1
        k += 1
        if k > 7:
            k = 1
print(ans)
# 运行结果:138
# 样例代码2
import datetime
start = datetime.datetime(year=2022, month=1, day=1)
end = datetime.datetime(year=2023, month=1, day=1)
cnt = 0
while s

你可能感兴趣的:(算法,动态规划,数据结构,python,蓝桥杯)