蓝桥杯模拟赛第三期python

第一题

li = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
for i in range(2023,10000):
    n = str(hex(i))
    flag = False
    for k in n[2::]:
        if k not in li:
            flag = True
    if not flag:
        print(int(n,16))
        break

第二题

n = 2022
def get(x,y,z):
    return x*26*26+y*26+z
    
def ans(x,y,z):
    s = 1
    s = str(s)
    s = s + chr(ord('A') + x - 1)
    s = s+  chr(ord('A') + y - 1)
    s = s+  chr(ord('A') + z - 1)
    return s
    
for i in range(1,27):
    for j in range(1,27):
        for k in range(1,27):
            if get(i,j,k) == n:
                print(ans(i,j,k))

第三题


days = [0,31,28,31,30,31,30,31,31,30,31,30,31]


def is_run(y):
    return y%4 ==0 and y%100!=0 or y%400==0
def get(x):
    res = 0
    while(x):
        res+=x%10
        x//=10
    return res
def work(y,run):
    cnt = 0
    for i in range(1,13):
        k = days[i]
        if i== 2 and run:k+=1
        j = 1
        while j<=k:
            if get(y) == get(i)+get(j):cnt+=1
            j+=1
    return cnt
re = 0
for y in range(1900,10000):
    run = is_run(y)
    re += work(y,run)
print(re)

第四题

cnt = 0
nums = [99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77 ]
for i in range(30):
    for j in range(i+1,30):
        if nums[i] *nums[j] >= 2022:
            cnt+=1
print(cnt)

第六题

w = int(input())
n = int(input())
while n:
    w+=1
    if w>7:
        w = 1
    n-=1
print(w)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值