python 蓝桥杯填空题

字母数

在这里插入图片描述

由于是填空题,那么寻找的话,就直接让每一个位置都是A,通过计算看看是不是结果大于2022即可

判断列名(进制问题)

在这里插入图片描述

  • 这道题目,我们可以往数字进制的方面考虑的话,就可能会简单许多
  • 可以理解为进制为26 的,然后给你2022,让你将2022用26 进制的符号来表示
  • 对于最低位就是2022对26 的取余
  • 对于次低位,就是 2022 对26 的取整然后再对26 取余
  • 由于经过计算,只有三位,那么最高位就是 2022 对26进行两次的取整
  • 对于字符的相对应的确认,我们可以先定义一个字符串,然后通过下标进行相对应的确认
import os
import sys

# 请在此输入您的代码

dic = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
a = 2022
print(dic[2022//(26*26)-1] + dic[(2022//26)%26-1] + dic[2022%26-1])


特殊日期

在这里插入图片描述

  • 这一题就只有枚举的暴力算法了,不过怎么进行枚举,如何避免超时就是我们要考虑的问题
  • 由于涉及年月日,三个不同的时期,有人就会考虑,能否使用一个三层循环?结果是肯定不行的。然后又有一个问题,就是如何对于不同的月份的 天数不一样的问题,难道要在循环里面添加多个i f 来判断吗?然后就是是否将闰年分开讨论?如何很好解决计算一个数字各个数位的数字之和?
  • 对于上述的问题:
    1.对于信息的存储:我们可以使用列表来存储,然后最后的一个查询的问题就可以使用字典(字典有一个和好处:就是当键不存在时,就会以你输入的键进行创建)
  • 对于重复使用并且可以单独的功能,我们就把该功能单独写成函数进行后续的一个调用
import os
import sys

# 请在此输入您的代码
def isLeap(x):  # 判断是否为闰年
    if (x % 4 == 0 and x % 100 != 0) or x % 400 == 0:
        return True
    return False

def numAdd(x):  # 计算年份个数位的数字和
    sums = 0
    while x:
        sums += x % 10
        x //= 10
    return sums


start, end = 1900, 9999
ans = 0
day = [1, -2, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1]  # 每个月天数和30天的差值
data = []
hstable = dict()  # key:月份1~12,value:每个月份月份数位和+日的数位和的区间,如1月份为(2, 32)
for j in range(1,32):  # 计算日数位和
    data.append(numAdd(j))
for i in range(1, 13):  # 初始化哈希表
    t = numAdd(i)  # 月数位和
    for j in range(day[i - 1] + 30):  # 遍历一个月的每一天将月数位和加上日数位和
        addt = t + data[j]
        if addt not in hstable:
            hstable[addt] = 1  
        else:
            hstable[addt] += 1  # 哈希表中对应的天数加一

for i in range(start, end + 1):  # 遍历每一年
    yearsum = numAdd(i)  # 计算年的数位和
    if yearsum in hstable:  # 若年的数位和在哈希表中存在则答案加上对应的天数
        ans += hstable[yearsum]
    if isLeap(i) and yearsum == 13:  # 闰年2月份多一天,位数和为13
        ans += 1

print(ans)

大乘积

在这里插入图片描述

  • 这就是一个简单的枚举的问题,由于问题的规模并不大,所以可以直接进行暴力
import os
import sys

a = [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]
count = 0
for i in range(30):

  for j in range(i+1,30):
    if a[i] * a[j] >=2022:
      count  = count +  1

print(count)

星期几

在这里插入图片描述

  • 这道题难度不高,但是容易忽略一个问题,就是在取余数的时候,当余数为0时要输出7
import os
import sys

# 请在此输入您的代码

w = int(input())
n = int(input())

a = (w+n) % 7

if a ==0:
  print(7)
else:
  print(a)

信号覆盖

重点,就是利用集合的性质,就是不能加入重复的元素

在这里插入图片描述

import os
import sys

# 请在此输入您的代码

W,H,n,R = map(int ,input().split())

store = set()

for i in range(n):
  x,y = map(int,input().split())
  for T in range(H+1):
    for q in range(W+1):
      if (q-x)**2 + (T-y)**2 <= R**2:
        store.add((T,q))

print(len(store))


  • 重点:利用圆的公式来判断点是否在范围内
  • 由于数据量不是很大,所以可以直接 暴力求解

河道清理

在这里插入图片描述
在这里插入图片描述

还是老样子,看到数据量很小,那么就可以使用暴力求解,对于重复信息的筛选,那么就使用集合 的 add() 函数来解决

import os
import sys

# 请在此输入您的代码

n,m = map(int,input().split())
t = int(input())
store = set()
for T in range(t):
  r1,c1,r2,c2 = map(int,input().split())

  for i in range(r1,r2+1):
    for j in range(c1,c2+1):
        store.add((i,j))
  
print(m*n-len(store))

相关推荐

  1. --python-8(2023 填空)

    2024-03-10 08:44:02       59 阅读
  2. --python-9(2023填空2)

    2024-03-10 08:44:02       57 阅读
  3. --python-10(2023填空3)

    2024-03-10 08:44:02       58 阅读
  4. 官网填空(质数拆分)

    2024-03-10 08:44:02       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-10 08:44:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 08:44:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 08:44:02       82 阅读
  4. Python语言-面向对象

    2024-03-10 08:44:02       91 阅读

热门阅读

  1. 英语随笔,发散了 3.9

    2024-03-10 08:44:02       41 阅读
  2. iOS小技能:设置app语言(跟随系统和特定语言)

    2024-03-10 08:44:02       41 阅读
  3. AJAX-常用请求方法和数据提交

    2024-03-10 08:44:02       40 阅读
  4. mysql和redis的区别

    2024-03-10 08:44:02       41 阅读
  5. 表单进阶(4)-下拉菜单

    2024-03-10 08:44:02       36 阅读
  6. 大型语言模型的智能助手:检索增强生成(RAG)

    2024-03-10 08:44:02       42 阅读
  7. 编程笔记 html5&css&js 005 小学数学四则运算练习

    2024-03-10 08:44:02       40 阅读
  8. [力扣 Hot100]Day46 二叉树展开为链表

    2024-03-10 08:44:02       42 阅读
  9. 面试中如何介绍zookeeper的ZAB协议

    2024-03-10 08:44:02       39 阅读
  10. .Net Core/.net 6/.Net 8 实现Mqtt服务器

    2024-03-10 08:44:02       34 阅读
  11. 【杂言】迟到的 2024 展望

    2024-03-10 08:44:02       39 阅读
  12. 程序员如何选择职业赛道?

    2024-03-10 08:44:02       44 阅读
  13. rabbitmq4

    rabbitmq4

    2024-03-10 08:44:02      35 阅读
  14. 题目 1908: 蓝桥杯-矩阵相乘

    2024-03-10 08:44:02       36 阅读