跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python算法

2024 第十六届蓝桥杯模拟赛第二期 Python 题解

2024 年第十六届蓝桥杯模拟赛第二期 Python 题目解析。包含质因数查找、最小公倍数计算、位运算异或统计及动态规划最小代价问题。提供暴力枚举与动态规划解题思路,展示关键代码实现,辅助理解竞赛算法逻辑。

KernelLab发布于 2026/3/17更新于 2026/5/3021 浏览
2024 第十六届蓝桥杯模拟赛第二期 Python 题解

提示:前五题为填空题,无需提交代码。


知识点

  1. 质因数、质数、约数
  2. 动态规划(dp)
  3. 思维

一、质因数求解

问题描述 如果一个数 p 是个质数,同时又是整数 a 的约数,则 p 称为 a 的一个质因数。 请问,2024 的最大的质因数是多少? 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

1、思路:质数的判定
2、代码:
def is_prime(x):
    if x == 1:
        return False
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            return False
    return True

for i in range(2023, 1, -1):
    if 2024 % i == 0:
        if is_prime(i):
            print(i)
            break
3、结果:23

二、最小公倍数计算

问题描述 对于两个整数 a, b,既是 a 的整数倍又是 b 的整数倍的数称为 a 和 b 的公倍数。公倍数中最小的正整数称为 a 和 b 的最小公倍数。 请问,2024 和 1024 的最小公倍数是多少? 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

1、思路:暴力
2、代码:
res = 2024
while True:
    if res % 2024 == 0 and res % 1024 == 0:
        print(res)
        break
    else:
        res += 1
3、结果:259072

三、位运算异或统计

问题描述 两个数按位异或是指将这两个数转换成二进制后,最低位与最低位异或作为结果的最低位,次低位与次低位异或作为结果的次低位,以此类推。 例如,3 与 5 按位异或值为 6。 请问,有多少个不超过 2024 的正整数,与 2024 异或后结果小于 2024。 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

1、思路:暴力
2、代码:
count = 0
for x in range(1, 2025):
    if (x ^ 2024) < 2024:
        count += 1
print(count)
3、结果:2001

四、动态规划最小代价

问题描述 小蓝有一个整数,初始值为 1,他可以花费一些代价对这个整数进行变换。小蓝可以花费 1 的代价将整数增加 1。小蓝可以花费 3 的代价将整数增加一个值,这个值是整数的数位中最大的那个(1 到 9)。小蓝可以花费 10 的代价将整数变为原来的 2 倍。 例如,如果整数为 16,花费 3 将整数变为 22。 又如,如果整数为 22,花费 1 将整数变为 23。 又如,如果整数为 23,花费 10 将整数变为 46。 请问,如果要将整数从初始值 1 变为 2024,请问最少需要多少代价? 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

1、思路:动态规划

(1)初始化:创建一个长度为 y+1 的 dp 数组,dp[i] 表示将 1 变成 i 的最小代价,初始化为无穷大,dp[1] = 0。 (2)遍历每个数:遍历从 1 到 y,对于每个数 i,尝试三种操作。 (3)加 1 操作:若 i + 1 <= y,更新 dp[i + 1] 为 min(dp[i + 1], dp[i] + 1)。 (4)加最大数位操作:计算当前数 i 的最大数位 max_digit,若 i + max_digit <= y,更新 dp[i + max_digit]。 (5)乘 2 操作:若 i * 2 <= y,更新 dp[i * 2] 为 min(dp[i * 2], dp[i] + 10)。 (6)返回结果:最终返回 dp[y],即将 1 变为 y 的最小代价。

2、代码:
def min_cost(y):
    dp = [float('inf')] * (y + 1)  # dp[x] 表示将整数 1 变为 x 的最小代价
    dp[1] = 0
    for i in range(1, y + 1):
        # 加 1
        if i + 1 <= y:
            dp[i + 1] = min(dp[i + 1], dp[i] + 1)
        # 加最大数位
        max_digit = int(max(str(i)))  # 找到当前数的最大数位

目录

  1. 知识点
  2. 一、质因数求解
  3. 1、思路:质数的判定
  4. 2、代码:
  5. 3、结果:23
  6. 二、最小公倍数计算
  7. 1、思路:暴力
  8. 2、代码:
  9. 3、结果:259072
  10. 三、位运算异或统计
  11. 1、思路:暴力
  12. 2、代码:
  13. 3、结果:2001
  14. 四、动态规划最小代价
  15. 1、思路:动态规划
  16. 2、代码:
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Docker 容器内 Java 与 Python 代码运行示例
  • 向日葵 MCP 接入 AI:实现跨设备远程控制与自动化操作
  • Git 多人协作开发流程与冲突解决
  • Oracle 迁移常见痛点与金仓数据库兼容性解决方案
  • Mac 系统下 5 款主流 SSH 工具对比与实战技巧
  • Llama-Factory 微调常见错误及解决方案
  • llama.cpp CUDA 编译问题与优化指南
  • Llama-Factory 与 LangChain 集成:构建智能 Agent 工作流
  • RVC 语音变声器快速上手:AI 翻唱与实时变声教程
  • Java 解析磁力链(Magnet URI)实现指南
  • llama.cpp 本地部署常见问题排查与解决
  • C++ 双指针算法实战:有效三角形个数与和为 S 的两个数字
  • 前端防录屏原理:EME(加密媒体扩展)DRM 实战代码
  • Windows 11 下 Docker Desktop 安装与部署指南
  • Java 大数据在智能家居设备联动与场景化节能中的应用
  • System.gc() 调用时机与 MappedByteBuffer 文件锁定问题
  • Edge 浏览器运行 Google AI Studio 与 ChatGPT 网页版卡顿优化方案
  • 基于龙卷风优化算法的多无人机协同路径规划与 Matlab 实现
  • Windows 系统下 WSL 安装与使用 Ubuntu 指南
  • Camunda 服务任务(Service Task)的 5 种实现方式详解

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online