蓝桥杯真题 包子凑数 c++代码实现 小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有 N 种蒸笼,其中第 i种蒸笼恰好能放 Ai个包子。
文章目录
- 题目描述
- 输入描述
- 输出描述
- 输入输出样例
- 示例 1
- 示例 2
- 运行限制
- 代码
- 思路
题目描述
小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有 N 种蒸笼,其中第 i 种蒸笼恰好能放 Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。
每当有顾客想买 X 个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有 X 个包子。比如一共有 3 种蒸笼,分别能放 3、4 和 5 个包子。当顾客想买 11 个包子时,大叔就会选 2 笼 3 个的再加 1 笼 5 个的(也可能选出 1 笼 3 个的再加 2 笼 4 个的)。
当然有时包子大叔无论如何也凑不出顾客想买的数量。比如一共有 3 种蒸笼,分别能放 4、5 和 6 个包子。而顾客想买 7 个包子时,大叔就凑不出来了。
小明想知道一共有多少种数目是包子大叔凑不出来的。
输入描述
第一行包含一个整数 N (1 ≤ N ≤100)。
以下 N 行每行包含一个整数 Ai (1 ≤ Ai≤100)。
输出描述
一个整数代表答案。如果凑不出的数目有无限多个,输出 INF。
输入输出样例
示例 1
输入 |
---|
2 4 5
|
输出 |
---|
6
|
样例说明 |
---|
凑不出的数目包括:1, 2, 3, 6, 7, 11。 |
示例 2
输入 |
---|
2 4 6
|
输出 |
---|
INF
|
样例说明 |
---|
所有奇数都凑不出来,所以有无限多个 |
运行限制
最大运行时间:1s
最大运行内存: 256M
代码
#include <iostream>
#include <string>
#include<iomanip>
#include <algorithm>
using namespace std;
int arr[101] = { 0 };
int num[10000] = { 0 };
int Prime(int a,int b) {//判断互质,返回值为1则互质if (b == 0)return a;else return Prime(b, a % b);
}
int main()
{int a;cin >> a;int flag = 0;num[0] = 1;for (int i = 0; i < a; i++){cin >> arr[i];if (!i)flag = arr[i];else flag = Prime(flag, arr[i]);for (int j = 0; j < 10000; j++){if (num[j]){num[j + arr[i]] = 1;//将数字对应的倍数的数字记为可凑}}}if (flag != 1)//没有一个数字互质{cout << "INF" << endl;}else{int all = 0;for (int j = 0; j < 10000; j++){if (!num[j])//数字不可凑出{all++;}}cout << all << endl;}return 0;
}
思路
这道题运用到数学思维,根据题目要求可知输入的数字一定要存在互质的数字才存在有限个凑不出的数,同时由于数字的大小有限制所以申请的数组大小为100*100,即10000的大小,保证可以找到所有的凑不出的数字。
蓝桥杯真题 包子凑数 c++代码实现 小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有 N 种蒸笼,其中第 i种蒸笼恰好能放 Ai个包子。相关推荐
- 蓝桥杯真题 13省3-第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台
问题描述 小明刚刚看完电影<第39级台阶>,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶.先迈左脚,然后 ...
- 蓝桥杯真题 17省1-购物单 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。 这不,XX大促销又来了!老板夫人开出了长长的
问题描述 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞. 这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的 ...
- 蓝桥杯真题 15省7-牌型种数 小明被劫持到X赌城,被迫与其他3人玩牌。 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,
题目描述 小明被劫持到X赌城,被迫与其他3人玩牌. 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张. 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不考虑自己得 ...
- 蓝桥杯真题 16省Ja3-搭积木(小明最近喜欢搭数字积木, 一共有10块积木,每个积木上有一个数字,0~9。...)搭积木规则: 每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。 最
题目描述 小明最近喜欢搭数字积木, 一共有10块积木,每个积木上有一个数字,0~9. 搭积木规则: 每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小. 最后搭成4层的金字塔形,必须用完所 ...
- 包子凑数-蓝桥杯真题 线性方程组求解(c++实现)
上文链接:日期问题-蓝桥杯真题 具备基础日期知识查看(c++) 包子凑数 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子.每种蒸笼都有非常多笼,可 ...
- 蓝桥杯真题2017-2021
刷完近几年真题,感觉理解完之后,拿奖问题不大,本人这次获得2022年蓝桥杯javaB组省一,以下是历年javaB组省赛题目. 文章目录 2017年真题 一.购物单 二.纸牌三角形 三.承压计算 四.魔 ...
- 蓝桥杯真题及答案JavaB组(第七届~第十一届)
1.十一届 1.1.解密(结果填空`5) Q: 小明设计了一种文章加密的方法:对于每个字母 c,将它变成某个另外的字符 Tc.下表给出了字符变换的规则: 在这里插入图片描述 例如,将字符串 YeRi ...
- 第五届蓝桥杯真题解析【JavaC组】
第五届蓝桥杯真题解析[JavaC组] 业精于勤,荒于嬉:行成于思,毁于随.--韩愈 文章目录 ***第五届蓝桥杯真题解析[JavaC组]*** 前言 A:猜年龄 B:等额本金 C:猜字母 D:大衍数列 ...
- 【蓝桥杯真题】16天冲刺 Python
距离比赛很快了,希望和我一起准备的PY党能更加熟练的掌握Python! 1.距离和(模拟赛填空题) 问题描述: 两个字母之间的距离定义为它们在字母表中位置的距离.例如 A和 C 的距离为 2,L 和 ...
最新文章
- 浏览器缓存导致FLASH资源更新问题的解决方案
- Javascript异步编程之一异步原理
- 递归-计算字符串长度(代码、分析、汇编)
- 一个完美网站的101项指标.第一部分.概述
- 学术大数据在企业专家对接中的应用
- 自学机器学习_我用来自学机器学习的最佳资源
- leetcode —— 783. 二叉搜索树结点最小距离
- resttemplate 设置请求头_Jmeter信息头管理器常用的三种传参格式
- admin ajax,如何在FastAdmin中使用Ajax发送请求?
- Atitit 开发效率补充哦哦那个、、 目录 1. 架构方法上选择快速开发的架构	1 2. 编程方法上选择快速的编程范式和编程方法	1 3. 开发方法论上需要快速的方法	2 1.架构方法上选择快速
- 基于推特数据挖掘交通事件的城市交通流深度学习预测模型
- Matlab最实用画图命令整理(包括Print输出SCI论文高清大图!)
- 小天才z6官方禁用怎么关闭_我告诉你小天才z6隐藏功能
- 成人高等教育本科生学士学位日语水平考试大纲
- 日历怎么设置每周一提醒
- 开源小程序商城推荐-支持所有小程序平台
- 群发邮箱软件哪个好?邮箱群发平台哪个好用?
- 谈一谈安卓mk文件用法
- 索爱手机android系统,索爱正式发布Android系统Walkman音乐手机
- XP Professional SP3 英文版序列号
热门文章
- 出口信用证项下的融资——出口押汇
- 利用Kismet进行无线网络探测
- 可盈可乐区块链行业周报(12.16-12.31)
- C# 中MethodInvoker的理解
- Spring零基础入门到精通 --- IOC基础容器
- 外设驱动库开发笔记49:BY25Qxx存储器驱动
- 下载mysql.ios_iMySqlProg ios版下载_iMySqlProg苹果版
- flash上传附件 uploadify3.0详细说明
- SpringMVC 框架进阶
- 量子计算(6)pyqpanda编程1:量子程序与量子线路