包子凑数——蓝桥杯真题Python

news/2025/3/1 0:56:56/

包子凑数

在这里插入图片描述

输入输出样例
示例 1

输入

2
4
5

输出

6

样例说明

凑不出的数目包括:1, 2, 3, 6, 7, 11。

示例 2

输入

2
4
6

输出

INF

样例说明

所有奇数都凑不出来,所以有无限多个

运行限制
  • 最大运行时间:1s
  • 最大运行内存: 256M

最大公约数

最大公约数:Greatest Common Divisor,GCD,指两个或多个整数共有约数中的最大值。

计算方法:

  1. 质因数分解法:将各数分解为质因数,取共有质因数的最小幂次乘积。

    例如,求36和48的GCD:

    36=2^2 * 32,48=24 * 3^1

    GCD=22*31=12

  2. 辗转相除法(欧几里得算法):基于定理 gcd (a,b)=gcd (b,a mod b),迭代至余数为零。

    例如,求 1071 和 462 的 GCD:

    1071 ÷ 462 = 2(余 147)→ gcd (462,147)

    462 ÷ 147 = 3(余 21)→ gcd (147,21)

    147 ÷ 21 = 7(余 0)→ GCD 为 21

裴蜀定理
  1. 定理内容:对于多个整数,若其GCD为d,则它们线性组合的所有可能结果均为d的倍数。
  2. 无限不可凑数判定:若所有整数的GCD大于1,则只能凑出d的倍数,此时就有无限多 无法凑出的数目,如GCD=2,那么所有的奇数都无法凑出。
  3. 有限不可凑数判定:若GCD为1,则存在一个最大不可凑数M,超过M的所有数均可被凑出,
解题步骤
  1. 首先输入n和数组A
  2. 情况一:若数组A中包含1,那么说明任何数都能凑,打印0.
  3. 情况二:GCD!=1,则说明有无数个无法凑出的数,打印INF。
  4. 情况三:GCD==1,则进入动态规划步骤。
python">import math
def main():n = int(input())A = [[int(input())] for _ in range(n)]if 1 in A:print("0")returng = A[0]for a in A:g = math.gcd(a,g)if g != 1 :print("INF")returnelse :maxSize = 10000dp = [False] * (maxSize + 1)dp[0] = Truefor i in range(1, maxSize+1):if dp[i]:for a in A:if i+a < maxSize+1:dp[i+a] = Trueresult = 0for i in dp:if i == False:result += 1print(result)returnif __name__ == "__main__":main()

http://www.ppmy.cn/news/1575637.html

相关文章

linux 后台执行并输出日志

在Linux系统中&#xff0c;后台执行程序并输出日志通常有多种方法&#xff0c;这里列出几种常见的方法&#xff1a; 1. 使用&将命令放入后台 可以在命令的末尾加上&符号&#xff0c;将命令放入后台执行。例如&#xff1a; your_command > output.log 2>&1…

Vue3父组件访问子组件方法与属性完全指南

在Vue3的组件化开发中&#xff0c;父子组件间的通信是核心功能之一。本文将详细介绍五种父组件访问子组件属性/方法的实现方案&#xff0c;包含最新的<script setup>语法糖实践。&#xff08;综合1579&#xff09; 一、ref defineExpose&#xff08;推荐方案&#xff0…

DeepSeek 开源狂欢周(二)DeepEP深度技术解析 | 解锁 MoE 模型并行加速

在大模型时代&#xff0c;Mixture-of-Experts (MoE) 模型凭借其强大的容量和高效的计算能力&#xff0c;成为研究和应用的热点。然而&#xff0c;MoE 模型的训练和推理面临着巨大的专家并行通信挑战。近日&#xff0c;DeepSeek 开源了 DeepEP 项目&#xff0c;为解决这一难题提…

Redis的Spring配置

文章目录 一、redis.properties二、redis单机版三、redis集群版 一、redis.properties #redis集群数量 redis.maxRedirects3 #redis集群ip redis.host1127.0.0.1 redis.host2127.0.0.2 redis.host3127.0.0.3#host redis.hostlocalhost #访问端口 redis.port6379 #redis密码 r…

Windows Server 搭建 RADIUS 认证服务器

Windows Server 搭建 RADIUS 认证服务器 1.搭建 AD CS 证书服务器 2.配置 Active Directory 证书服务 3.搭建 NPS 认证服务器 4.为 NPS 服务器申请证书 5.配置 RADIUS 服务搭建 AD CS 证书服务器 1、打开「服务器管理器」&#xff0c;选择右上角的「管理」>「添加角色和功能…

Redis 持久化方式:RDB(Redis Database)和 AOF(Append Only File)

本部分内容是关于博主在学习 Redis 时关于持久化部分的记录&#xff0c;介绍了 RDB 和 AOF 两种持久化方式&#xff0c;详细介绍了持久化的原理、配置、使用方式、优缺点和使用场景。并对两种持久化方式做了对比。文章最后介绍了 Redis 持久化的意义并与其他常见的缓存技术做了…

WPS计算机二级•文档的审阅与引用

听说这是目录哦 WPS文字必学技能 选择&#x1f355;查找替换&#x1f354;修订功能&#x1f35f;添加和删除批注&#x1f32d;审阅功能&#x1f37f;添加题注&#x1f953;为文档添加脚注&#x1f373;添加尾注&#x1f9c7;插入文档表目录 查阅题注对象列表&#x1f95e;如何标…

影视后期工具学习之PR

pr剪辑之旅 第一节课 入门基础知识 1.了解影视基础术语 2.PR面板&首选项设置 首选项需要设置的选项: 自动保存: 修剪: 媒体: 媒体缓存: 经典面板设置,可以根据个人喜好做出改变: 3.展示与准备工作 新建序列:1.横板序列 2.竖版序列:</