第七届蓝桥杯程序设计大赛题目及答案

第七届蓝桥杯程序设计大赛题目及答案
第七届蓝桥杯程序设计大赛题目及答案

第七届省赛

1. 网友年龄

某君新认识一网友。当问及年龄时,他的网友说:“我的年龄是个2 位数,我比儿子大27 岁, 如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄”

请你计算:网友的年龄一共有多少种可能情况?

提示:30 岁就是其中一种可能哦.

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

7

x-y=3

2. 生日蜡烛

某君从某年开始每年都举办一次生日party ,并且每次都要吹熄与年龄相同根数的蜡烛现在算起来,他一共吹熄了236 根蜡烛。

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

26 #include using namespace std;

int main(){

int i,j;

int sum=0; for(i=1;i<=100;i++){ // 年龄

sum=0; for(j=i;j<=100;j++){ // 蜡烛数sum=sum+j;

if(sum==236){ cout<

break;

}

}

}

}

3. 方格填数

如下的10 个格子

填入0~9 的数字。要求:连续的两个数字不能相邻。 (左右、上下、对角都算相邻) 一共有多少种可能的填数方案?请填写表示方案数目的整数。

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

#include #include #include using namespace std;

const int maxn=4;

int mp[maxn][maxn];

int flag[10];

int ans=0;

int init() {

memset(mp,-10, sizeof mp); memset(flag,0, sizeof flag);

}

int fx[4]= {0,-1,-1,-1},fy[4]= {-1,-1,0,1};

int check(int i,int j) {

for(int f=0; f<4; f++) {

if(abs(mp[i][j]-mp[i+fx[f]][j+fy[f]])!=1||i+fx[f]<1||j+fy[f]>4||j+fy[f]<1 ) continue;

else

return 0;

}

return 1;

}

void dfs(int i,int j) {

if(i==3&&j==4) {

ans++;

return ;

}

for(int num=0; num<=9; num++) {

if(!flag[num]) { mp[i][j]=num; flag[num]=1; if(check(i,j)) if(j==4) dfs(i+1,1);

else

dfs(i,j+1); flag[num]=0;

}

}

}

int main() {

init();

dfs(1,2);

cout<

}

// 暴力求解

#include

using namespace std;

int ans=0;

void swap(int *a,int *b)

{

int *c;

c=a;

a=b;

b=c;

}

int f(int a[])// 判断这种排列组合是否符合题意{

if(a[0]-a[4]==-1||a[0]-a[4]==1) return 0;

if(a[3]-a[4]==-1||a[3]-a[4]==1) return 0;

if(a[5]-a[4]==-1||a[5]-a[4]==1) return 0;

if(a[7]-a[4]==-1||a[7]-a[4]==1)

return 0;

if(a[8]-a[4]==-1||a[8]-a[4]==1)

return 0;

if(a[9]-a[4]==-1||a[9]-a[4]==1)

return 0;

if(a[1]-a[4]==-1||a[1]-a[4]==1)

return 0;

if(a[1]-a[5]==-1||a[1]-a[5]==1)

return 0;

if(a[1]-a[6]==-1||a[1]-a[6]==1)

return 0;

if(a[0]-a[5]==-1||a[0]-a[5]==1)

return 0;

if(a[2]-a[5]==-1||a[2]-a[5]==1)

return 0;

if(a[8]-a[5]==-1||a[8]-a[5]==1)

return 0;

if(a[9]-a[5]==-1||a[9]-a[5]==1)

return 0;

if(a[6]-a[5]==-1||a[6]-a[5]==1)

return 0;

if(a[6]-a[9]==-1||a[6]-a[9]==1)

return 0;

if(a[6]-a[2]==-1||a[6]-a[2]==1)

return 0;

if(a[3]-a[0]==-1||a[3]-a[0]==1)

return 0;

if(a[3]-a[7]==-1||a[3]-a[7]==1)

return 0;

if(a[8]-a[7]==-1||a[8]-a[7]==1)

return 0;

if(a[8]-a[3]==-1||a[8]-a[3]==1)

return 0;

if(a[9]-a[8]==-1||a[9]-a[8]==1)

return 0;

if(a[1]-a[0]==-1||a[1]-a[0]==1)

return 0;

if(a[1]-a[2]==-1||a[1]-a[2]==1)

return 0;

}

void perm(int a[],int m,int len)//

列举出0-9 所有的组合进行判断

{

if(m==len-1)

{

if(f(a)) ans++;

return ;

}

for(int i=m;i

{

swap(a[m],a[i]); perm(a,m+1,len); swap(a[m],a[i]);

} } int main() {

int a[10] = {0,1,2,3,4,5,6,7,8,9}; perm(a,0,10);

cout<

}

4. 快速排序排序在各种场合经常被用到。快速排序是十分常用的高效率的算法。其思想是:先选一个“标尺”,用它把整个队列过一遍筛子,以保证:其左边的元素都不大于它,其右边的元素都不小于它这样,排序问题就被分割为两个子区间。再分别对子区间排序就可以了。

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

#include

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(i

while(a[--j]>x);

if(i>=j) break;

swap(a,i,j); 函数功能为能够实现a[i],a[j] 值互换}

return j;

}

void quicksort(int a[], int p, int r)

{

if(p

}

}

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

return 0;

}

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

#include

int a[101],n;// 定义全局变量,这两个变量需要在子函数中使用void quicksort(int left, int right) { int i, j, t, temp;

if(left > right)

temp = a[left]; //temp 中存的就是基准数

i = left;

j = right;

while(i != j) { // 顺序很重要,要先从右边开始找

while(a[j] >= temp && i < j)

j--;

while(a[i] <= temp && i < j)// 再找右边的

i++;

if(i < j)// 交换两个数在数组中的位置

{ t = a[i]; a[i] = a[j]; a[j] = t;

}

}

// 最终将基准数归位

a[left] = a[i]; a[i] = temp; quicksort(left, i-1);// quicksort(i+1, right);//

}

int main() {

int i;

// 读入数据 scanf("%d",

&n);

for(i = 1; i <= n; i++)

scanf("%d", &a[i]);

quicksort(1, n); //

// 输出排序后的结果 for(i

= 1; i < n; i++) printf("%d

", a[i]);

printf("%d\n", a[n]);

return 0; 5. 消除尾一

下面的代码把一个整数的二进制表示的最右边的连续的

1 全部变成 0

如果最后一位是 0,则原数字保持不变。

如果采用代码中的测试数据,应该输出: 00000000000000000000000001100111 00000000000000000000000001100000

00000000000000000000000000001100 00000000000000000000000000001100 请仔细阅读程序,填写划线部分缺少的代码。

#include void f(int x) { int i;

for(i=0; i<32; i++) printf("%d", (x>>(31-i))&1); printf(" ");

x = ______ x&(x+1) _______________ ;

for(i=0; i<32; i++) printf("%d", (x>>(31-i))&1); printf("\n");

}

int main()

继续处理左边的,这里是一个递归的过程 继续处理右边的 ,这里是一个递归的过程 快速排序调用

{

f(103); f(12); return 0;

}

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

x&(x-1 )就是把x的二进制-1 ,或者说把x 的二进制最后一个1变成0 (c>>(31-i)) & 1 可以分解成:

[1] 31-i 减法,31减去1。

[2] c>>(31-i) c 按2 进制数值右移(31-i)位

[3] 右移后的结果与1 做“按位与” 计算,

显然c 按2进制数值右移(31-i)位后如果最右一位是1 ,结果输出1 ,如果最右一位是0 ,结果输出0 。

6. 寒假作业现在小学的数学题目也不是那么好玩的。看看这个寒假作业:

□ + □ = □

□ - □ = □

□ × □ = □

□ ÷ □ = □

(如果显示不出来,可以参见【图1.jpg 】)每个方块代表1~13 中的某一个数字,但不能重复比如:

6 +

7 = 13

9 - 8 = 1

3 *

4 = 12

10 / 2 = 5

以及:

7 + 6 = 13

9 - 8 = 1

3 *

4 = 12

10 / 2 = 5

就算两种解法。(加法,乘法交换律后算不同的方案) 你一共找到了多少种方案?

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

分析:这题本是一个简单的全排列,最容易想到的思路就是对1~13进行全排列,然后取

前12 个数字逐一赋值给每个空,在12 个数全部确定后,再进行四个等式的判断。同时,对于C++的STL 库有着现成的函数-next_permutation, 实现起来也就更加简单了:

#include

#include

#include

using namespace std;

int a[]={1,2,3,4,5,6,7,8,9,10,11,12,13};

第七届蓝桥杯大赛2016年蓝桥杯个人赛 (电子类) 省赛 单片机设计与开发科目

准考证号 工位号 注意:只填写准考证号和工位号,否则试卷作废 密 封 线 ----------------------------------------------------------------------------- 第七届蓝桥杯全国软件和信息技术专业人才大赛个人赛 (电子类)省赛 单片机设计与开发科目 竞赛时间:5小时 题 号 一 二 三 总 分 配 分 10 30 60 100分 得 分 “模拟风扇控制系统”设计任务书 功能简述 “模拟风扇控制系统”能够模拟电风扇工作,通过按键控制风扇的转动速度和定时时间, 数码管实时显示风扇的工作模式,动态倒计时显示剩余的定时时间,系统主要由数码管显示、单片机最小系统、按键输入和电机控制保护电路组成,系统框图如图1所示: 图1. 系统框图 单总线驱动程序、CT107D 单片机考试平台电路原理图以及本题所涉及到的芯片数据手册,可参考计算机上的电子文档。程序流程图及相关工程文件请以考生号命名,并保存在计算机上的考生文件夹中(文件夹名为考生准考证号,文件夹保存在监考员指定位置)。 DS18B20 MCU 按键输入 LED 指示灯 数码管显示 PWM 输出

设计任务及要求 1.工作模式 设备具有“睡眠风”、“自然风”和“常风”三种工作模式可以通过按键切换,通过单片机P34引脚输出脉宽调制信号控制电机运行状态,信号频率为1KHz。 1.1“睡眠风”模式下,对应PWM占空比为20%; 1.2“自然风”模式下,对应PWM占空比为30%; 1.3“常风”模式下,对应PWM占空比为70%; 2.数码管显示 数码管实时显示设备当前工作模式和剩余工作时间(倒计时),如图2所示。 - 1 - 80 0 5 0 工作模式:睡眠风熄灭剩余工作时间:50秒 图2.工作模式和剩余工作时间显示 “睡眠风”状态下,对应数码管显示数值为1,自然风模式下,显示数值为2,常风模式下,显示数值为3。 3.按键控制 使用S4、S5、S6、S7四个按键完成按键控制功能。 2.1 按键S4定义为工作模式切换按键,每次按下S4,设备循环切换三种工作模式。 工作过程如下: 睡眠风自然风常风 2.2 按键S5定义为“定时按键”每次按下S5,定时时间增加1分钟,设备的剩余 工作时间重置为当前定时时间,重新开始倒计时,工作过程如下: 0分钟1分钟2分钟 设备剩余工作时间为0时,停止PWM信号输出。 2.3 按键S6定义为“停止”按键,按下S6按键,立即清零剩余工作时间,PWM 信号停止输出,直到通过S5重新设置定时时间。 2.4 按键S7定义为“室温”按键,按下S7,通过数码管显示当前室温,数码管显 示格式如图3所示,再次按下S7,返回图2所示的工作模式和剩余工作时间

蓝桥杯c c 省赛试题及答案解析

2016蓝桥杯c-c++B组省赛试题及解析 第一题 煤球数目 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

答案:171700 #include<> int main() { int a[101] ={0}; for(int i = 1 ; i < 101 ; i ++) a[i] = a[i-1] + i; int ans = 0; for(int j = 1 ; j < 101 ; j ++) ans += a[j]; printf("%d\n",ans); return 0; }

第二题 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。 现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 答案:26 #include<> int main()

{ int start,end; for(start = 1 ; start < 236 ; start ++) { for( end = start ; end < 236 ; end ++ ) { int sum = 0; for(int i = start; i <= end; i ++) sum += i; if( sum == 236) { printf("start : %d end : %d\n",start,end); } } }

大学生可以参加的竞赛项目

年大学生可以参加的竞赛项目

————————————————————————————————作者:————————————————————————————————日期:

校外学生科技学术活动计划一览表 (共91项) 序号竞赛名称主办单位 1 第八届“挑战杯”全国大学生创业计划竞 赛 共青团中央、中国科协、教育部、全国学联 2 第三届“北斗杯”全国青少年科技创新大 赛 教育部科技司、团中央学校部、中国科协青少年科技中心、中国卫星导航系统管理办 公室 3 第二届全国高等学校采矿工程专业学 生实践作品大赛 教育部高等学校地矿学科教学指导委员会 4 第七届全国大学生交通科技大赛教育部高等学校交通运输与工程学科教学指导委员会 5 “高教杯”全国三维数字化创新设计大赛国家制造业信息化培训中心、全国三维数字化创新设计大赛组委会 6 全国信息技术应用水平大赛教育部教育管理信息中心 7 Esri杯中国大学生GIS软件开发竞赛中国地理信息系统协会、Esri中国(北京)有限公司 8 supermap杯全国高校GIS大赛中国地理学会、北京超图软件股份有限公司 9 全国高校GIS技能大赛 中国测绘学会、工业和信息化部人才交流中心、教育部地理信息系统软件及其应用工 程研究中心

10 全国高校GIS 论坛GIS论坛组委会 教育部普通高校测绘学科教学指导委员会、国家测绘局职业技能鉴定指导中心、中国11 全国普通高校大学生测绘技能大赛 测绘学会 12 山东省高校大学生测量技能大赛山东测量学会 13 全国第二届地质技能大赛中国地质调查局、中国地质学会地质教育研究分会 14 第五届山东省高校结构设计大赛山东省土木工程学会建筑结构专业委员会、山东大学 15 2012年山东省大学生建筑设计竞赛山东省住房和城乡建设厅、山东省科学技术协会 2012全国高等学校城市规划专业社会 16 全国高等学校城市规划专业教育指导委员会 综合实践调研报告课程作业评优 17 山东省大学生机电产品创新设计竞赛山东省机械工业协会、山东省机械工程学会 “高教杯”全国大学生先进成图技术与产 教育部高等学校工程图学教学指导委员会 18 品信息建模创新大赛 19 过程装备实践与创新大赛教育部高等学校机械学科教学指导委员会 20 “飞思卡尔”杯全国大学生智能汽车竞赛教育部高等学校自动化专业教学指导分委员会

2014年第五届蓝桥杯预赛题目及标准答案

第十题 标题:小朋友排队 n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。 如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次交换时,他的不高兴程度增加k。 请问,要让所有小朋友按从低到高排队,他们的不高兴程度之和最小是多少。 如果有两个小朋友身高一样,则他们谁站在谁前面是没有关系的。 【数据格式】 输入的第一行包含一个整数n,表示小朋友的个数。 第二行包含n 个整数H1 H2 …Hn,分别表示每个小朋友的身高。 输出一行,包含一个整数,表示小朋友的不高兴程度和的最小值。 例如,输入: 3 3 2 1 程序应该输出: 9 【样例说明】 首先交换身高为3和2的小朋友,再交换身高为3和1的小朋友,再交换身高为2和1的小朋友,每个小朋友的不高兴程度都是3,总和为9。 【数据规模与约定】 对于10%的数据,1<=n<=10; 对于30%的数据,1<=n<=1000; 对于50%的数据,1<=n<=10000; 对于100%的数据,1<=n<=100000,0<=Hi<=1000000。 资源约定: 峰值内存消耗< 256M CPU消耗< 1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。 所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。 注意: main函数需要返回0 注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。注意: 所有依赖的函数必须明确地在源文件中#include ,不能通过工程设置而省略常用头文件。 提交时,注意选择所期望的编译器类型。 10 #include #include #include #include using namespace std; struct People { int top; int step; }; struct Cmp { bool operator()(const People &m, const People &n)const {

第十一届蓝桥杯大赛软件类省赛第三场 CC++

第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组 第十一届蓝桥杯大赛软件类省赛第三场 C/C++大学B组 【考生须知】 考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题。 考试时间为4小时。考试期间选手可浏览自己已经提交的答案,被浏览的答案允许拷贝。时间截止后,将无法继续提交或浏览答案。 对同一题目,选手可多次提交答案,以最后一次提交的答案为准。 选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它方式提交的答案无效。 试题包含“结果填空”和“程序设计”两种题型。 结果填空题:要求选手根据题目描述直接填写结果。求解方式不限。不要求源代码。把结果填空的答案直接通过网页提交即可,不要书写多余的内容。 程序设计题:要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果才有机会得分。 注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。 对于编程题目,要求选手给出的解答完全符合GNU C/C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。 代码中允许使用STL类库。 注意:main函数结束必须返回0 注意:所有依赖的函数必须明确地在源文件中#include,不能通过工程设置而省略常用头文件。 所有源码必须在同一文件中。调试通过后,拷贝提交。 提交时,注意选择所期望的编译器类型。 第十一届蓝桥杯大赛软件类省赛第三场1

第十一届蓝桥杯大赛软件类省赛第三场C/C++大学B组 试题A:数青蛙 本题总分:5分 【问题描述】 “一只青蛙一张嘴,两只眼睛四条腿。两只青蛙两张嘴,四只眼睛八条腿。三只青蛙三张嘴,六只眼睛十二条腿。……二十只青蛙二十张嘴,四十只眼睛八十条腿。” 请问上面这段文字,如果完全不省略,全部写出来,从1到20只青蛙,总共有多少个汉字。 约定:数字2单独出现读成“两”,在其他数里面读成“二”,例如“十二”。10读作“十”,11读作“十一”,22读作“二十二”。 请只计算汉字的个数,标点符号不计算。 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 试题A:数青蛙2

蓝桥杯比赛要求

七、奖项设置及评选办法 7.1 省赛 1.参赛选手奖 省赛每个组别设置一、二、三等奖,比例分别为10%、20%、30%,总比例为实际参赛人数的60%,零分卷不得奖。省赛一等奖选手获得直接进入全国总决赛资格。所有获奖选手均可获得由工业和信息化部人才交流中心及大赛组委会联合颁发的获奖证书。 2.指导教师奖 省赛中获奖的参赛选手的指导教师将获得“蓝桥杯全国软件和信息技术专业人才大赛(××赛区)优秀指导教师”称号。 3.参赛学校奖 参赛组织工作表现突出、经审批符合相关条件的单位,将获得“蓝桥杯全国软件和信息技术专业人才大赛(××赛区)优秀组织单位”称号; 参赛选手成绩优异,经审批符合相关条件的学校将获得“蓝桥杯全国软件和信息技术专业人才大赛(××赛区)优胜学校”称号。 7.2 总决赛 全国总决赛按参赛项目和成绩,为获奖学生、教师和组织单位颁发相应证书和奖 励。其中: 1.参赛选手奖 个人赛根据相应组别分别设立特、一、二、三等奖及优秀奖。在决赛奖项设置中, 每个组别设置特等奖1名,一等奖不高于5%,二等奖占20%,三等奖不低于25%,优秀奖 不超过50%,零分卷不得奖。 所有获奖选手均可获得由工业和信息化部人才交流中心及大赛组委会联合颁发的获 奖证书。 大学组总决赛三等奖及以上选手,如果获得本校免试推研资格,将获得北京大学软 件与微电子学院等院校的面试资格,并优先录取为该院普通硕士研究生。 大学组总决赛三等奖及以上选手,可免除笔试,直接获得百度、IBM等企业在员工 招聘及实习生招聘中的面试机会。 2.指导教师奖 所有获奖选手的指导教师,均可获得“蓝桥杯全国软件和信息技术专业人才大赛优秀 指导教师”证书。 3.参赛学校奖 参赛组织工作成绩突出、经审批符合相关条件的单位,获“蓝桥杯全国软件和信息技 术专业人才大赛优秀组织单位”称号; 参赛选手成绩优异、经审批符合相关条件的学校,获“蓝桥杯全国软件和信息技术专 业人才大赛优胜学校”称号。

蓝桥杯哦2010第一届大赛试题

第一题,以下函数的功能是将任意整数进行因式分解, 请完成该程序的空缺使函数能够正常运算 void f(int n) { for(int i=2; i1) printf(“%d\n”, n); } 第二题,以下函数的功能是将给定字符串进行倒序输出,请完成该函数空缺部分。 char* p = “abcdef”; char* q = (char*)malloc(strlen(p)+1); for(int i=0, int len=strlen(p); i

第三题,(这题的题目到底是要干啥,本人到现在沿未明了,数学学统计好,但可以确定原题给出的代码就是如此) int f(int m, int n) { int a = 1; int m1 = m; //—–(3)—- a *= m1–; int b = 1; while(n>1) b *= n–; return a / b; } 第四题,任意给出一个四位数, 把它重新组成一个四位的最大数和一个最小数, 算出两者间的差。 例如:3721这个数,可以重组成:7321和1237,相数之差为7321-1237 请完善下面这个函数,以实现此功能 int f(int n) { int N[4]; for(int i=0; i<4; i++) { N[3-i] = n % 10;

2014年第五届蓝桥杯预赛题目JAVA软件开发高职高专组

2014年预赛Java高职高专组 考生须知: ●考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压。 ●考试时间为4小时。时间截止后,选手无法继续提交答案。 ●在考试强制结束前,选手可以主动结束考试(需要身份验证),结束考试后将无法继续提交或浏览答案。 ●选手可浏览自己已经提交的答案。被浏览的答案允许拷贝。 ●对同一题目,选手可多次提交答案,以最后一次提交的答案为准。 ●参赛选手切勿在提交的代码中书写“姓名”、“考号”,“院校名”等与身份有关的信息或其它与竞赛题目无关的内容,否则成绩无效。 ●参赛选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它方式提交的答案无效。 ●试题包含三种类型:“结果填空”、“代码填空”与“程序设计”。 结果填空题:要求参赛选手根据题目描述直接填写结果。求解方式不限。不要求源代码。把结果填空的答案直接通过网页提交即可,不要书写多余的内容,比如:注释说明。 代码填空题:要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不超过一条语句(即中间不能出现分号)。 把代码填空的答案(仅填空处的答案,不包括题面已存在的代码)直接通过网页提交即可,不要书写多余的内容,比如:注释或说明文字。 程序设计题目:要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果,才有机会得分。 注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。 所有源码必须在同一文件中。调试通过后,拷贝提交。 注意:不要使用package语句。源程序中只能出现JDK1.6中允许的语法或调用。不能使用1.7或更高版本的特性。 注意:选手代码的主类名必须为:Main,否则会被判为无效代码。 1.结果填空(满分2分) 问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。请仔细阅读题目,不限解决问题的方式,只要求提交结果。 必须通过浏览器提交答案。 只提交题目要求的内容,不要填写任何多余的文字!! 2.结果填空(满分4分) 问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式,只要求提交结果。 必须通过浏览器提交答案。

2016第七届蓝桥杯CC++-B组题解

第一题 煤球数目 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 这道题坑死了,第一次看堆成三角棱锥形,草稿本画半天都没画出个三角棱锥。后来单独看每句话才知道每层一个三角形叠起来就是三角棱锥。我去。 看懂题目这个题目就很简单了,每层的个数是上层的个数加上层数,意思就是An = An-1 + n,然而题目是求的前100层一共多少煤球。所以是Sn.代码双重for循环就出来了。答案是:171700 1.#include 2.int main() 3.{ 4.int a[101] ={0}; 5.for(int i = 1 ; i < 101 ; i ++) 6. a[i] = a[i-1] + i; 7.int ans = 0; 8.for(int j = 1 ; j < 101 ; j ++) 9. ans += a[j]; 10. printf("%d\n",ans); 11.return 0; 12.} 第二题: 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。 现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 呵呵,水题,但是出题人不严谨啊!!!怎么就不能考虑万一他今年236岁呢....好了不说了强迫症犯了。 蓝桥杯这种不像acm的题目的,能暴力直接暴力。不用想太多。直接从1~236 枚举start, end 分别表示他开始过生日的年龄和今年的年龄,然后计算之间吹蜡烛的总和如果等于236就输出start ,end. 答案是:26 1.#include 2.int main()

2018蓝桥杯试题

2018蓝桥杯C语言b组国赛真题 1.标题:换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种。 小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱。 小明有点强迫症,他坚持要求200元换出的零钞中2元的张数刚好是1元的张数的10倍, 剩下的当然都是5元面额的。 银行的工作人员有点为难,你能帮助算出:在满足小明要求的前提下,最少要换给他多少张钞票吗? (5元,2元,1元面额的必须都有,不能是0) 注意,需要提交的是一个整数,不要填写任何多余的内容。 手算都可以。。。下面是代码,答案74 1.#include https://www.360docs.net/doc/ce7477706.html,ing namespace std; 3.int main(){ 4.for(int i=1;i<40;i++){ 5.for(int j=1;j<200;j++){ 6.if(5*i+2*10*j+1*j==200) 7. cout<<"5*"<

12.2.标题:激光样式 x星球的盛大节日为增加气氛,用30台机光器一字排开,向太空中打出光柱。 安装调试的时候才发现,不知什么原因,相邻的两台激光器不能同时打开! 国王很想知道,在目前这种bug存在的情况下,一共能打出多少种激光效果? 显然,如果只有3台机器,一共可以成5种样式,即: 全都关上(sorry, 此时无声胜有声,这也算一种) 开一台,共3种 开两台,只1种 30台就不好算了,国王只好请你帮忙了。 要求提交一个整数,表示30台激光器能形成的样式种数。 注意,只提交一个整数,不要填写任何多余的内容。 思路很简单,暴力搜索,30个灯光从左到右,从左边第一个开始,第一个可以开关,第二个要根据左边的灯光是否开启来取值,以此类推。。。答案2178309 1.#include 2.#include https://www.360docs.net/doc/ce7477706.html,ing namespace std; 4.int ans = 0; 5.int x[31];//0代表关,1代表开 6. 7.void dfs(int index){ 8.if(index == 30){ 9.ans++; 10.return; 11.} 12.if(index == 0 || x[index-1] == 0){ //第一个灯光可以取0或1,当前灯 光左边要是没开,那当前灯光可以取0和1 13.for(int i=0;i<=1;i++){ 14.x[index] = i;

第五届蓝桥杯计算比赛省赛真题

标题:武功秘籍 小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的)。他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上。 小明只想练习该书的第81页到第92页的武功,又不想带着整本书。请问他至少要撕下多少张纸带走? 这是个整数,请通过浏览器提交该数字,不要填写任何多余的内容。 标题:等额本金 小明从银行贷款3万元。约定分24个月,以等额本金方式还款。 这种还款方式就是把贷款额度等分到24个月。每个月除了要还固定的本金外,还要还贷款余额在一个月中产生的利息。 假设月利率是:0.005,即:千分之五。那么, 第一个月,小明要还本金1250, 还要还利息:30000 * 0.005,总计1400.00 第二个月,本金仍然要还1250, 但利息为:(30000-1250) * 0.005 总计1393.75 请问:小明在第15个月,应该还款多少(本金和利息的总和)? 请把答案金额四舍五入后,保留两位小数。注意:32.5,一定要写为:32.50 通过浏览器提交答案,这是一个含有小数点和两位小数的浮点数字。不要写多余内容(例如:多写了“元”或添加说明文字) 标题:猜字母 把abcd...s共19个字母组成的序列重复拼接106次,得到长度为2014的串。 接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。 得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。 答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。 标题:大衍数列 中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。 它的前几项是:0、2、4、8、12、18、24、32、40、50 ... 其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。 以下的代码打印出了大衍数列的前100 项。 int main() { int i; for(i=1; i<100; i++){ if(__________________) //填空 printf("%d ", i*i/2); else printf("%d ", (i*i-1)/2); }

第十一届蓝桥杯校内赛校内选拔赛(2020蓝桥杯校选1-javac.)

第十一届蓝桥杯校内赛/校内选拔赛(2020蓝桥杯校选1-java/c) 一、问题描述 请问十六进制数1949对应的十进制数是多少?请特别注意给定的是十六进制,求的是十进制。 答案提交: 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分. 二、问题描述 两个二进制数11110011101和1111101001的和是多少?请用二进制表示,注意在提交的时候不要提交前导0。 答案提交: 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个二进制数,在提交答案时只填写这个二进制数,填写多余的内容将无法得分。 三、问题描述 将LANQIAO中的字母重新排列,可以得到不同的单词,如LANQIAO、AAILNOQ等,注意这7个字母都要被用上,单词不一定有具体的英文意义。 请问,总共能排列如多少个不同的单词。 答案提交: 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 四、问题描述 在2019个有区别的球中选3个球放在一个盘子里,请问有多少种选法? 答案提交: 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 五、问题描述 小明对类似于 hello 这种单词非常感兴趣,这种单词可以正好分为四段,第一段由一个或多个辅音字母组成,第二段由一个或多个元音字母组成,第三段由一个或多个辅音字母组成,第四段由一个或多个元音字母组成。 给定一个单词,请判断这个单词是否也是这种单词,如果是请输出yes,否则请输出no。 元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。 输入格式: 输入一行,包含一个单词,单词中只包含小写英文字母。

蓝桥杯第一届初赛题目

第一届蓝桥杯预赛试题 c 本科 第一题,以下函数的功能是将任意整数进行因式分解, 请完成该程序的空缺使函数能够正常运算 void f(int n) { for(int i=2; i1) printf(“%d\n”, n); } 第二题,以下函数的功能是将给定字符串进行倒序输出,请完成该函数空缺部分。 char* p = “abcdef”; char* q = (char*)malloc(strlen(p)+1); for(int i=0, int len=strlen(p); i

q__1__ = p[i+1]; q[len-1] = p[0]; —–(2)—-; prin tf(“%s\n”, q); 第三题, int f(int m, int n) { int a = 1; int m1 = m; //—–(3)—- a *= m1–; int b = 1; while(n>1) b *= n–; return a / b; } 第四题,任意给出一个四位数, 把它重新组成一个四位的最大数和一个最小数, 算出两者间的差。 例如:3721这个数,可以重组成:7321和1237,相数之差为7321-1237 请完善下面这个函数,以实现此功能 int f(int n) { int N[4];

for(int i=0; i<4; i++) { N[3-i] = n % 10; —-(4)—- } for(i=0; i<3; i++) for(int j=0; j<3-i; j++) if(N[j]>N[j+1]) { int t = N[j+1]; N[j+1] = N[j]; N[j] = t; } int n_min=0; for(i=0; i<4; i++) n_min = n_min * 10 + N[i] ; int n_max = 0; for(i=3; i>=0; i–) n_max = n_max * 10 + N[i]; return n_max-n_min; } 第五题,假设有m+n个人,其中, m个人手持面额为5角的硬币, n个人手持面额为1元的硬币,

2014第五届蓝桥杯JAVA本科B组试题及答案

2014第五届蓝桥杯JAVA本科B组试题及答案 1. 武功秘籍小明到X山洞探险 2000 10页和第1111页和第12页不在同一张纸上。 小明只想练习该书的第81页到第92 撕 80,81 82,8384,8586,87888990,9192,93 2. 切面条2根面条。 如果先对折13根面条。 如果连续对折25根面条。 10 1025 import java.util.Scanner; public class Main { public static void main(String []args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int num = (int)Math.pow(2, n) + 1; System.out.println(num); //结果:2015 } } 3. 猜字母把abcd...s共19个字母组成的序列重复拼接1062014的串。

接下来删除第1a35个等所有奇数位置的 字母。 写 出该字母。 q import java.util.Scanner; /** * 该程序类似与约瑟夫环的问题 */ public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); String str = "abcdefghijklmnopqrs"; String str1 = ""; for(int i = 0;i < 106;i++){ str1 = str1 + str;

2017年度学科竞赛奖、科技竞赛奖评选方案

2017年度学科竞赛奖、科技竞赛奖评选方案 一、评选原则 1、学科竞赛奖、科技竞赛奖均为了鼓励广大同学通过积极参与各类赛事,提高自身素质,为校争光。 2、学科竞赛奖分为三个等级,一等奖3000元/人,二等奖2000元/人,三等奖1000元/人;科技竞赛奖分为三个等级,一等奖3000元/人,二等奖2000元/人,三等奖1000元/人。各个等级获奖人数按照当年参与竞赛的学生人数与获得奖励的质量确定。总获奖人数不超过总参赛人数的60%,总奖励金额均不超过20万元。 3、不能出现下列现象: A、某同学获得多个不同低赛事、低等级的竞赛奖,累加后得分相对较高,甚至高于某单个高赛事的得分。 B、某团队的成员在团队贡献上相对较低,但其单项得分与其他成员相同。 C、某团队的同一作品获得同一类型赛事奖励,在计算得分时出现累加情况。 D、非在校本科生参与评选。 二、各指标分值确定 1、影响因子 影响因子的确定两个部门比较一致,它与竞赛的名称有关,最高值为5分,以0.5分为刻度。以下为各个竞赛的影响因子:

2、等级分值 等级分值与竞赛级别和获奖等级均有关,最高值为100分,以

10分为刻度。以下为各个等级的分值: 3、作者排序 作者排序只与团队参与竞赛的作者排序有关,如提供作者排序的奖项,第一作者值为1,以后按照0.01的分值递减,即第二作者值为0.99,第三为0.98……

4、附加 获得不同竞赛奖励的同学,在累加得分时,减去附加值,附加值计算为:50*(获得竞赛奖励次数-1),如某同学获得3项奖励,则附加值为50*(3-1)=100。(因为竞赛最低得分不低于50分,故以50定为因子,若有竞赛得分低于50分,则直接取其竞赛项目最高分为最终得分)。 根据评选原则,为避免同一赛事相互累加,同一名同学在同一时间同一赛事不同项目获奖或者获得多个奖项,取该名同学在该赛事中获得的最高级奖项计算。

第七届蓝桥杯C++程序设计大学B组省赛题目

第七届蓝桥杯程序设计大学B组省赛题目 第一题:煤球数目 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 第二题:生日蜡烛 某君从某年开始每年都举办一次生日,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日的? 请填写他开始过生日的年龄数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 第三题:凑算式 B A + + = 10 C (如果显示有问题,可以参见【图1】) 这个算式中代表1~9的数字,不同的字母代表不同的数字。 比如: 6+8/3+952/714 就是一种解法, 5+3/1+972/486 是另一种解法。 这个算式一共有多少种解法?

注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。 第四题:快速排序 排序在各种场合经常被用到。 快速排序是十分常用的高效率的算法。 其思想是:先选一个“标尺”, 用它把整个队列过一遍筛子, 以保证:其左边的元素都不大于它,其右边的元素都不小于它。 这样,排序问题就被分割为两个子区间。 再分别对子区间排序就可以了。 下面的代码是一种实现,请分析并填写划线部分缺少的代码。 <> ( a[], i, j) { t = a[i]; a[i] = a[j]; a[j] = t; } ( a[], p, r) { i = p; j = r + 1; x = a[p]; (1){ (i

(完整版)蓝桥杯大赛青少年创意编程Scratch初级组模拟题

一、单选题(每题20分) 1、(难度系数1)在舞台添加小猫角色,它的所有设置均为默认设置。舞台布局和程序运行舞台布局程序运行结果 运行以下哪段程序后,可以得到以上结果。() A B C D以上程序都不对 2、(难度系数2)小猫看到远处好久不见的朋友,于是跳起来说“你好!”想引起朋友的注意,执行以下程序后,小猫说“你好!”一共几秒?() A 0 B 2 C4 D 8

3、(难度系数3)当角色执行完这段程序后,舞台可能出现的图形是?() A、正三角形 B、正四边形 C、正六边形 D、正八边形 4、(难度系数4)执行完这段程序后,变量b的值可能是?() A、11 B、65 C、130 D、6065

5、(难度系数5)小红想做一个月亮围绕地球旋转的动画,如图,舞台有两个角色:“地球”“月球”,并写如下程序,小红希望运行程序后,月球以地球为中心做圆周运动。() A、B、 B、D、

1、难度系数2,满分50分 准备工作:导入背景库中的“bedroom2”,并导入角色库中的“Abby”“Candy”角色。 编程实现: Abby打扫完房间,房间停电了,Abby点上了一根蜡烛。想象停电后,点上蜡烛的效果。 图1.“关灯以前” 图2.“关灯后”

1、程序开始运行时,显示如图1.“关灯以前” 2、2秒以后,背景变暗,屏幕左边的墙上出现比小猫自身还要大的影子,如图2.“关灯后”。 3、之后一直保持图2效果 4、蜡烛、Abby、影子之间和大小应大致正确。 将程序保存在桌面,命名为“1.sb2” 评判标准: 10分:程序运行后,按图1的效果显示并保持至少2秒钟; 30分:在10分的基础上,能按图2的要求背景变暗,出现Abby阴影; 50分:在30分的基础上,背景中的圣诞树仍可见,蜡烛、Abby、影子之间的位置关系 基本正确,Abby和影子的大小关系符号逻辑。 2、难度系数3,满分50分 编程实现:今天天气多云,小熊在海边散步,他的头顶飘来一朵云,一阵风吹来,云飘走了,越飘越远,最后消失在空中。 具体要求: 1、舞台背景选择图示背景,增加云朵、小熊角色。 2、程序开始运行时,“小熊”“云朵”角色出现在图1所示的位置。 3、“云朵”角色能实现“从小熊头顶飘离,并向右上角平滑地漂移,越飘越高,越飘越小,直到最后消失”的动画效果。 将程序保存在桌面,命名为“2.sb2” 图1 图2 图3 图4

蓝桥杯七届单片机开发组决赛试题

第七届蓝桥杯单片机设计与开发组总决赛试题 “电压、频率采集设备任务书” 功能简述 “电压、频率采集设备”能够实现测量信号频率和电压,修改、储存工作参数,记录、查询事件等功能,系统由按键单元、ADC 采集单元、显示单元、储存单元组成,系统框图如图1所示: 图1.系统框图 I2C 总线、DS1302时钟芯片时序控制程序、CT107D 单片机考试平台电路原理图以及本题涉及到的芯片数据手册,可参考计算机上的电子文档。原理图文件、程序流程图及相关工程文件请以考生号命名,并保存在计算机上的考生文件夹中(文件夹名为考生准考证号,文件夹位于Windows 桌面上)。单片机 数码管显示 电压测量频率测量E2PROM 实时时钟 矩阵键盘

任务设计及要求 1.频率信号测量 使用竞赛板NE555方波信号发生器产生用于频率测量功能测试的方波信号,信号频率范围为500Hz --20KHz,电位器RB3调节信号频率,可使用“跳线帽”将单片机P34引脚与方波信号发生器输出引脚NET_SIG 短接。 2.电压信号测量 使用竞赛板上RB2电位器输出测试电压信号,信号输出范围0V-5V。 3.实时时钟功能 读取DS1302实时时钟芯片,并通过数码管显示时间数据,设备上电后初始化时间配置为23时59分55秒。 4.记录与输出功能 根据给定硬件的性能参数,设计合理的采样周期,当电压低于电压下线V L 或高于电压上线V H 时,将事件类型和发生时间保存到E2PROM 中。设备中 只需要保存最近一次发生的电压波动情况,数据储存格式可自定义。 上图例,电压连续变化过程中,在T1和T2时刻会触发事件记录功能。 5.显示与按键控制 5.14x4矩阵键盘按键功能定义图2所示: 图2.按键功能定义S7 S11S15S19S6 S10S14S18S5 S9S13S17S4S8S12S16时钟加电压减频率查询功能空

2014第五届蓝桥杯JAVA本科B组试题答案

2014第五届蓝桥杯JAVA本科B组试题及答案? 1. 武功秘籍 答案:(80,81);(82,83);(84,85);(86,87);(88,89);(90,91);(92,93)? 2. 切面条 答案:1025 import java.util.Scanner; public class Main { public static void main(String []args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int num = (int)Math.pow(2, n) + 1; System.out.println(num); //结果:2015 } } ? 3. 猜字母

答案:q import java.util.Scanner; /** * 该程序类似与约瑟夫环的问题 */ public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); String str = "abcdefghijklmnopqrs"; String str1 = ""; for(int i = 0;i < 106;i++){ str1 = str1 + str; } System.out.println(str1.length()); boolean[] arr = new boolean[str1.length()]; for(int i=0; i 1) { if(arr[index] == true) { //当在圈里时 if(countNum%2 == 0) { //下标为偶数时 arr[index] = false; //该字母退出圈子 leftCount --; //剩余字母数目减一 } countNum++; } index ++; //每报一次数,下标加一

蓝桥杯试题标准答案(练习)

1、亲密数:假设有a、b两个数,若a的所有因子之和等于b,b的所有因子之和等于a,并且a不等于b,则称a和b是一对亲密数。如284和220就是一对亲密数。 #include int main() { int a,b,i,n; for(a=1;a<=10000;a++) { for(b=0,i=1;i<=a/2;i++) if(a%i==0) b+=i; for(n=0,i=1;i<=b/2;i++) if(b%i==0) n+=i; if(n==a&&a!=b&&a

int main() { long days = 5; /*1999年的最后一天为周5,把下一年加上5天对7取余为0的,则是周日*/ int i = 2000; for(;;) /*无循环终止条件,可以利用break语句终止循环*/ { if(i%4==0&&i%100!=0||i%400==0) { days = days%7+366; } else { days = days%7+365; } if(days%7==0&&i%100==99) { printf("%d",i); break; } i++; } return 0; } 3、马虎的算式:小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。

相关文档
最新文档