#2016年蓝桥杯B组C/C++省赛试题
##

点击查看2016年蓝桥杯B组省赛题目解析(答案)

##第一题:煤球数目

有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),

如果一共有100层,共有多少个煤球?

请填表示煤球总数目的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

##第二题:生日蜡烛

某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。

现在算起来,他一共吹熄了236根蜡烛。

请问,他从多少岁开始过生日party的?

请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

##第三题:凑算式

     B      DEF
A + --- + ------- = 10C      GHI

(如果显示有问题,可以参见【图1.jpg】)

这个算式中AI代表19的数字,不同的字母代表不同的数字。

比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。

这个算式一共有多少种解法?

注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。

##第四题:快速排序

排序在各种场合经常被用到。
快速排序是十分常用的高效率的算法。

其思想是:先选一个“标尺”,
用它把整个队列过一遍筛子,
以保证:其左边的元素都不大于它,其右边的元素都不小于它。

这样,排序问题就被分割为两个子区间。
再分别对子区间排序就可以了。

下面的代码是一种实现,请分析并填写划线部分缺少的代码。

#include <stdio.h>void swap(int a[], int i, int j)
{int t = a[i];a[i] = a[j];a[j] = t;
}int partition(int a[], int p, int r)
{int i = p;int j = r + 1;int x = a[p];while(1){while(i<r && a[++i]<x);while(a[--j]>x);if(i>=j) break;swap(a,i,j);}______________________;return j;
}void quicksort(int a[], int p, int r)
{if(p<r){int q = partition(a,p,r);quicksort(a,p,q-1);quicksort(a,q+1,r);}
}int main()
{int i;int a[] = {5,13,6,24,2,8,19,27,6,12,1,17};int N = 12;quicksort(a, 0, N-1);for(i=0; i<N; i++) printf("%d ", a[i]);printf("\n");return 0;
}

注意:只填写缺少的内容,不要书写任何题面已有代码或说明性文字。

##第五题:抽签

X星球要派出一个5人组成的观察团前往W星。
其中:
A国最多可以派出4人。
B国最多可以派出2人。
C国最多可以派出2人。

那么最终派往W星的观察团会有多少种国别的不同组合呢?

下面的程序解决了这个问题。
数组a[] 中既是每个国家可以派出的最多的名额。
程序执行结果为:

DEFFF
CEFFF
CDFFF
CDEFF
CCFFF
CCEFF
CCDFF
CCDEF
BEFFF
BDFFF
BDEFF
BCFFF
BCEFF
BCDFF
BCDEF
....
(以下省略,总共101行)

#include <stdio.h>
#define N 6
#define M 5
#define BUF 1024void f(int a[], int k, int m, char b[])
{int i,j;if(k==N){ b[M] = 0;if(m==0) printf("%s\n",b);return;}for(i=0; i<=a[k]; i++){for(j=0; j<i; j++) b[M-m+j] = k+'A';______________________;  //填空位置}
}
int main()
{   int  a[N] = {4,2,2,1,1,3};char b[BUF];f(a,0,M,b);return 0;
}

仔细阅读代码,填写划线部分缺少的内容。

注意:不要填写任何已有内容或说明性文字。

##第六题:方格填数

如下的10个格子

   +--+--+--+|  |  |  |
+--+--+--+--+
|  |  |  |  |
+--+--+--+--+
|  |  |  |
+--+--+--+

(如果显示有问题,也可以参看【图1.jpg】)

填入0~9的数字。要求:连续的两个数字不能相邻。
(左右、上下、对角都算相邻)

一共有多少种可能的填数方案?

请填写表示方案数目的整数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

##第七题:剪邮票

如【图1.jpg】,

有12张连在一起的12生肖的邮票。
现在你要从中剪下5张来,要求必须是连着的。
(仅仅连接一个角不算相连)
比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。

请你计算,一共有多少种不同的剪取方法。

请填写表示方案数目的整数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

##第八题:四平方和

四平方和定理,又称为拉格朗日定理:
每个正整数都可以表示为至多4个正整数的平方和。
如果把0包括进去,就正好可以表示为4个数的平方和。

比如:

5 = 0^2 + 0^2 + 1^2 + 2^2
7 = 1^2 + 1^2 + 1^2 + 2^2
(^符号表示乘方的意思)

对于一个给定的正整数,可能存在多种平方和的表示法。
要求你对4个数排序:
0 <= a <= b <= c <= d
并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个表示法

程序输入为一个正整数N (N<5000000)
要求输出4个非负整数,按从小到大排序,中间用空格分开

例如,输入:
5
则程序应该输出:
0 0 1 2再例如,输入:
12
则程序应该输出:
0 2 2 2再例如,输入:
773535
则程序应该输出:
1 1 267 838

资源约定:
峰值内存消耗 < 256M
CPU消耗 < 3000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0
注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。
注意: 所有依赖的函数必须明确地在源文件中 #include , 不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

##第九题:交换瓶子

有N个瓶子,编号 1 ~ N,放在架子上。

比如有5个瓶子:
2 1 3 5 4

要求每次拿起2个瓶子,交换它们的位置。
经过若干次后,使得瓶子的序号为:
1 2 3 4 5

对于这么简单的情况,显然,至少需要交换2次就可以复位。

如果瓶子更多呢?你可以通过编程来解决。

输入格式为两行:
第一行: 一个正整数N(N<10000), 表示瓶子的数目
第二行:N个正整数,用空格分开,表示瓶子目前的排列情况。

输出数据为一行一个正整数,表示至少交换多少次,才能完成排序。

例如,输入:
5
3 1 2 5 4程序应该输出:
3再例如,输入:
5
5 4 3 2 1程序应该输出:
2

资源约定:
峰值内存消耗 < 256M
CPU消耗 < 1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0
注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。
注意: 所有依赖的函数必须明确地在源文件中 #include , 不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

##第十题:最大比例

X星球的某个大奖赛设了M级奖励。每个级别的奖金是一个正整数。
并且,相邻的两个级别间的比例是个固定值。
也就是说:所有级别的奖金数构成了一个等比数列。比如:
16,24,36,54
其等比值为:3/2

现在,我们随机调查了一些获奖者的奖金数。
请你据此推算可能的最大的等比值。

输入格式:
第一行为数字N,表示接下的一行包含N个正整数
第二行N个正整数Xi(Xi<1 000 000 000 000),用空格分开。每个整数表示调查到的某人的奖金数额

要求输出:
一个形如A/B的分数,要求A、B互质。表示可能的最大比例系数

测试数据保证了输入格式正确,并且最大比例是存在的。

例如,输入:
3
1250 200 32程序应该输出:
25/4再例如,输入:
4
3125 32 32 200程序应该输出:
5/2再例如,输入:
3
549755813888 524288 2程序应该输出:
4/1

资源约定:
峰值内存消耗 < 256M
CPU消耗 < 3000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0
注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。
注意: 所有依赖的函数必须明确地在源文件中 #include , 不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

2016年蓝桥杯B组C/C++省赛试题-漏网之渔相关推荐

  1. 第九届蓝桥杯JavaA组(2018年)省赛真题解析

    第九届蓝桥杯JavaA组(2018年)省赛真题解析 1.分数 1/1+1/2+1/4+1/8+1/16+- 每项是前一项的一半,如果一共有20项,求这个和是多少 结果用分数表示,类似: 3/2,当然这 ...

  2. 第十一届蓝桥杯 单片机设计与开发省赛试题

    第十一届蓝桥杯 单片机设计与开发 省赛 在昨天举办了第一波11届蓝桥杯比赛,第2波大概在10月份左右,看了看比赛题目,这次题目对于我来说,程序设计题简单,客观题全靠蒙! 本次比赛涉及: 1.数码管显示 ...

  3. 2020年 第十一届蓝桥杯 JavaB组 第一场 省赛总结

    文章目录 蓝桥杯 前言 博主介绍: – 我是了 凡 微信公众号[了凡银河系]期待你的关注.未来大家一起加油啊~ 文章目录 文章目录 前言 试题 A: 门牌制作 试题 B: 寻找 2020 试题 C: ...

  4. 蓝桥杯嵌入式组第九届省赛练习(算是解决了长短按键,解决了高亮显示)

    第九届代码实现代码 https://gitee.com/litte_enigner/lqb_emb_9th.git 蓝桥杯开发板的基本模块已经玩的差不多了,接下来就拿第九届题练一下手. 算是解决了长短 ...

  5. 【2016年蓝桥杯Java-B组省赛题解】

    2016Java-B组省赛 一.煤球数目(找规律) 二.生日蜡烛(模拟) 三.凑算式(全排列.模拟) 四.五.程序填空题 六.方格填数(全排列.搜索) 七.※※※剪邮票(搜索.连通性检测).※※剪格子 ...

  6. 2016年蓝桥杯A组 第九题 密码脱落

    X星球的考古学家发现了一批古代留下来的密码. 这些密码是由A.B.C.D 四种植物的种子串成的序列. 仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串). 由于年代久远,其中许多种子 ...

  7. 2017届蓝桥杯java_2017第八届蓝桥杯JavaC组决赛(国赛)试题汇总及试题详解-Go语言中文社区...

    目录 题解待更新 第一题:数位和 题目描述 数学家高斯很小的时候就天分过人.一次老师指定的算数题目是:1+2+...+100. 高斯立即做出答案:5050! 这次你的任务是类似的.但并非是把一个个的数 ...

  8. 【蓝桥杯单片机组第十一届省赛】— 客观试题

    目录 题目1 题目2 题目3 题目4 题目5 题目6 题目7 题目8 题目9

  9. 【蓝桥杯单片机组第十一届省赛】— 程序设计部分(第二场)

    1.硬件框图 2.功能描述 2.1 基本功能 2.2 设计要求

  10. 蓝桥杯十四届单片机国赛试题及代码

    今年十四届单片机国赛试题在程序题设计方面难度有所下降,但选择题没有了以往可以在手册中可以找到的单片机类选择题,选择题难度较高,因此想获得一个不错的成绩,需要在选择题方面有所加强 试题展示 设计说明 此 ...

最新文章

  1. MikuMikuDance 6 菜单汉化补丁
  2. 常用API-2(字符串与数组)
  3. vs 2017 建立 php,程序在VS 2017中输出的结果为什么是这样的?求助大神!谢谢!...
  4. react学习(45)----react组件
  5. 刻画小狗状态java_JAVA面向接口编程
  6. mysql8 修改密码_Mysql 8新特性之(1):账户与安全更人性化
  7. Guava cache
  8. 企业任务管理工具“日事清”获星河互联1000万A轮融资
  9. Ubuntu16.04安装最新版nodejs
  10. 海思平台35xx系列sensor不出图问题排查方法(新手来看)
  11. Linux随笔15-Ubuntu20.04允许root用户图形界面登录、chrony局域网时间同步服务、ipxe实现系统自动化安装
  12. 三极管饱和状态的判断
  13. xp精简版 安装IIS
  14. 【ftp上传文件失败】put: Access failed: 553 Could not create file. (passwd)(接详细配置1问题解决)
  15. html怎么显示五线谱,CSS3 响应式乐谱 音乐符号 五线谱
  16. 自行车码表使用说明—SIGMA(西格玛) BC906
  17. ORACLE一次大量数据删除导致问题的处理
  18. 解决ORA-O4O89:无法对sys拥有的对象创建触发器
  19. DataGridView绑定数据源后添加行
  20. c++微信读书学习笔记——很久以前随便写的

热门文章

  1. ramda 函数 String
  2. 关于EPCS系列芯片的说明
  3. MSP430 F5529 单片机 串口 万年历 电子时钟 数字时钟 Digital clock
  4. 三角函数的正交性及其公式推导
  5. 苹果输入法怎么换行_朋友圈长文字不折叠输入法,复制粘贴避免只显示一行
  6. html 确定取消dialog,弹出一个带确认和取消的dialog实例
  7. 演绎、归纳与前言结构——Leo鉴书83
  8. 「学习笔记」CSS基础(2)
  9. Configured.java
  10. Ubuntu输入简体中文变成繁体