第四届蓝桥杯本科B组.docx
- 文档编号:5868219
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:14
- 大小:21.25KB
第四届蓝桥杯本科B组.docx
《第四届蓝桥杯本科B组.docx》由会员分享,可在线阅读,更多相关《第四届蓝桥杯本科B组.docx(14页珍藏版)》请在冰豆网上搜索。
第四届蓝桥杯本科B组
第四届“蓝桥杯”全国软件专业人才设计与创业大赛选拔赛
Java本科B组
考生须知:
●考试开始后,选手首先下载题目到本机不被还原的盘符,并使用考场现场公布的解压密码解压试题。
●考试时间为9:
00-13:
00,共4个小时。
13点整时间截止时,将无法提交答案。
选手因考试结束不能提交答案的,责任由选手自负。
●在考试强制结束前,选手可以主动结束考试(需要身份验证),结束考试后将无法继续提交或浏览答案。
●选手可浏览自己已经提交的答案。
●对同一题目,选手可多次提交答案,以最后一次提交的答案为准。
●选手切勿在提交的代码中书写“姓名”、“考号”,“院校名”等与身份有关的信息或其它与竞赛题目无关的内容,否则成绩无效。
●选手必须通过浏览器方式提交自己的答案。
选手在其它位置的作答或其它方式提交的答案无效。
●试题包含三种类型:
“结果填空”、“代码填空”与“程序设计”。
结果填空题:
要求参赛选手根据题目描述直接填写结果。
求解方式不限。
不要求源代码。
把结果填空的答案直接通过网页提交即可,不要书写多余的内容,比如:
注释说明。
代码填空题:
要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。
所填写的代码不超过一条语句(即中间不能出现分号)。
把代码填空的答案(仅填空处的答案,不包括题面已存在的代码)直接通过网页提交即可,不要书写多余的内容,比如:
注释或说明文字。
程序设计题目:
要求选手设计的程序对于给定的输入能给出正确的输出结果。
考生的程序只有能运行出正确结果,才有机会得分。
注意:
在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
所有源码必须在同一文件中。
调试通过后,拷贝提交。
注意:
不要使用package语句。
源程序中只能出现JDK1.5中允许的语法或调用。
不能使用1.6或更高版本的特性。
注意:
选手代码的主类名必须为:
Main,否则会被判为无效代码。
1.结果填空(满分3分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。
相关的参考文件在同一目录中。
请仔细阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。
只提交题目要求的内容,不要填写任何多余的文字!
!
2.结果填空(满分6分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。
3.结果填空(满分8分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。
4.结果填空(满分13分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。
5.代码填空(满分5分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,不限解决问题的方式。
只要求填写缺失的代码部分,千万不要画蛇添足,填写多余的已有代码或符号。
必须通过浏览器提交答案。
6.代码填空(满分8分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,不限解决问题的方式。
只要求填写缺失的代码部分,千万不要画蛇添足,填写多余的已有代码或符号。
必须通过浏览器提交答案。
7.程序设计(满分5分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,必须通过编程的方式解决问题。
注意:
在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容。
建议仔细阅读示例,不要想当然!
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
不要使用package语句。
注意:
选手代码的主类名必须为:
Main,否则会被判为无效代码。
8.程序设计(满分10分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,必须通过编程的方式解决问题。
注意:
在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容。
建议仔细阅读示例,不要想当然!
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
不要使用package语句。
注意:
选手代码的主类名必须为:
Main,否则会被判为无效代码。
9.程序设计(满分15分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,必须通过编程的方式解决问题。
注意:
在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容。
建议仔细阅读示例,不要想当然!
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
不要使用package语句。
注意:
选手代码的主类名必须为:
Main,否则会被判为无效代码。
10.程序设计(满分27分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,必须通过编程的方式解决问题。
注意:
在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容。
建议仔细阅读示例,不要想当然!
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
不要使用package语句。
注意:
选手代码的主类名必须为:
Main,否则会被判为无效代码。
1.标题:
世纪末的星期
曾有邪教称1999年12月31日是世界末日。
当然该谣言已经不攻自破。
还有人称今后的某个世纪末的12月31日,如果是星期一则会....
有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!
!
于是,“谣言制造商”又修改为星期日......
1999年的12月31日是星期五,请问:
未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星期日)?
请回答该年份(只写这个4位整数,不要写12月31等多余信息)
2.标题:
马虎的算式
小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。
有一次,老师出的题目是:
36x495=?
他却给抄成了:
396x45=?
但结果却很戏剧性,他的答案竟然是对的!
!
因为36*495=396*45=17820
类似这样的巧合情况可能还有很多,比如:
27*594=297*54
假设abcde代表1~9不同的5个数字(注意是各不相同的数字,且不含0)
能满足形如:
ab*cde=adb*ce这样的算式一共有多少种呢?
请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。
满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。
答案直接通过浏览器提交。
注意:
只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。
3.标题:
振兴中华
小明参加了学校的趣味运动会,其中的一个项目是:
跳格子。
地上画着一些格子,每个格子里写一个字,如下所示:
(也可参见p1.jpg)
从我做起振
我做起振兴
做起振兴中
起振兴中华
比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。
一直要跳到“华”字结束。
要求跳过的路线刚好构成“从我做起振兴中华”这句话。
请你帮助小明算一算他一共有多少种可能的跳跃路线呢?
答案是一个整数,请通过浏览器直接提交该数字。
注意:
不要提交解答过程,或其它辅助说明类的内容。
4.标题:
黄金连分数
黄金分割数0.61803...是个无理数,这个常数十分重要,在许多工程问题中会出现。
有时需要把这个数字求得很精确。
对于某些精密工程,常数的精度很重要。
也许你听说过哈勃太空望远镜,它首次升空后就发现了一处人工加工错误,对那样一个庞然大物,其实只是镜面加工时有比头发丝还细许多倍的一处错误而已,却使它成了“近视眼”!
!
言归正传,我们如何求得黄金分割数的尽可能精确的值呢?
有许多方法。
比较简单的一种是用连分数:
1
黄金数=---------------------
1
1+-----------------
1
1+-------------
1
1+---------
1+...
这个连分数计算的“层数”越多,它的值越接近黄金分割数。
请你利用这一特性,求出黄金分割数的足够精确值,要求四舍五入到小数点后100位。
小数点后3位的值为:
0.618
小数点后4位的值为:
0.6180
小数点后5位的值为:
0.61803
小数点后7位的值为:
0.6180340
(注意尾部的0,不能忽略)
你的任务是:
写出精确到小数点后100位精度的黄金分割值。
注意:
尾数的四舍五入!
尾数是0也要保留!
显然答案是一个小数,其小数点后有100位数字,请通过浏览器直接提交该数字。
注意:
不要提交解答过程,或其它辅助说明类的内容。
5.标题:
有理数类
有理数就是可以表示为两个整数的比值的数字。
一般情况下,我们用近似的小数表示。
但有些时候,不允许出现误差,必须用两个整数来表示一个有理数。
这时,我们可以建立一个“有理数类”,下面的代码初步实现了这个目标。
为了简明,它只提供了加法和乘法运算。
classRational
{
privatelongra;
privatelongrb;
privatelonggcd(longa,longb){
if(b==0)returna;
returngcd(b,a%b);
}
publicRational(longa,longb){
ra=a;
rb=b;
longk=gcd(ra,rb);
if(k>1){//需要约分
ra/=k;
rb/=k;
}
}
//加法
publicRationaladd(Rationalx){
return________________________________________;//填空位置
}
//乘法
publicRationalmul(Rationalx){
returnnewRational(ra*x.ra,rb*x.rb);
}
publicStringtoString(){
if(rb==1)return""+ra;
returnra+"/"+rb;
}
}
使用该类的示例:
Rationala=newRational(1,3);
Rationalb=newRational(1,6);
Rationalc=a.add(b);
System.out.println(a+"+"+b+"="+c);
请分析代码逻辑,并推测划线处的代码,通过网页提交
注意:
仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!
!
6.标题:
三部排序
一般的排序有许多经典算法,如快速排序、希尔排序等。
但实际应用时,经常会或多或少有一些特殊的要求。
我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。
比如,对一个整型数组中的数字进行分类排序:
使得负数都靠左端,正数都靠右端,0在中部。
注意问题的特点是:
负数区域和正数区域内并不要求有序。
可以利用这个特点通过1次线性扫描就结束战斗!
!
以下的程序实现了该目标。
staticvoidsort(int[]x)
{
intp=0;
intleft=0;
intright=x.length-1;
while(p<=right){
if(x[p]<0){
intt=x[left];
x[left]=x[p];
x[p]=t;
left++;
p++;
}
elseif(x[p]>0){
intt=x[right];
x[right]=x[p];
x[p]=t;
right--;
}
else{
_________________________;//代码填空位置
}
}
}
如果给定数组:
25,18,-2,0,16,-5,33,21,0,19,-16,25,-3,0
则排序后为:
-3,-2,-16,-5,0,0,0,21,19,33,25,16,18,25
请分析代码逻辑,并推测划线处的代码,通过网页提交
注意:
仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!
!
7.标题:
错误票据
某涉密单位下发了某种票据,并要在年终全部收回。
每张票据有唯一的ID号。
全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。
因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。
你的任务是通过编程,找出断号的ID和重号的ID。
假设断号不可能发生在最大和最小号。
要求程序首先输入一个整数N(N<100)表示后面数据行数。
接着读入N行数据。
每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于100000)
每个整数代表一个ID号。
要求程序输出1行,含两个整数mn,用空格分隔。
其中,m表示断号ID,n表示重号ID
例如:
用户输入:
2
568119
10129
则程序输出:
79
再例如:
用户输入:
6
164178108109180155141159104182179118137184115124125129168196
172189127107112192103131133169158
128102110148139157140195197
185152135106123173122136174191145116151143175120161134162190
149138142146199126165156153193144166170121171132101194187188
113130176154177120117150114183186181100163160167147198111119
则程序输出:
105120
资源约定:
峰值内存消耗(含虚拟机)<64M
CPU消耗<2000ms
请严格按要求输出,不要画蛇添足地打印类似:
“请您输入...”的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意:
不要使用package语句。
不要使用jdk1.6及以上版本的特性。
注意:
主类的名字必须是:
Main,否则按无效代码处理。
8.标题:
幸运数
幸运数是波兰数学家乌拉姆命名的。
它采用与生成素数类似的“筛法”生成。
首先从1开始写出自然数1,2,3,4,5,6,....
1就是第一个幸运数。
我们从2这个数开始。
把所有序号能被2整除的项删除,变为:
1_3_5_7_9....
把它们缩紧,重新记序,为:
13579....。
这时,3为第2个幸运数,然后把所有能被3整除的序号位置的数删去。
注意,是序号位置,不是那个数本身能否被3整除!
!
删除的应该是5,11,17,...
此时7为第3个幸运数,然后再删去序号位置能被7整除的(19,39,...)
最后剩下的序列类似:
1,3,7,9,13,15,21,25,31,33,37,43,49,51,63,67,69,73,75,79,...
本题要求:
输入两个正整数mn,用空格分开(m 程序输出位于m和n之间的幸运数的个数(不包含m和n)。 例如: 用户输入: 120 程序输出: 5 例如: 用户输入: 3069 程序输出: 8 资源约定: 峰值内存消耗(含虚拟机)<64M CPU消耗<2000ms 请严格按要求输出,不要画蛇添足地打印类似: “请您输入...”的多余内容。 所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。 注意: 不要使用package语句。 不要使用jdk1.6及以上版本的特性。 注意: 主类的名字必须是: Main,否则按无效代码处理。 9.标题: 带分数 100可以表示为带分数的形式: 100=3+69258/714 还可以表示为: 100=82+3546/197 注意特征: 带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100有11种表示法。 题目要求: 从标准输入读入一个正整数N(N<1000*1000) 程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。 注意: 不要求输出每个表示,只统计有多少表示法! 例如: 用户输入: 100 程序输出: 11 再例如: 用户输入: 105 程序输出: 6 资源约定: 峰值内存消耗(含虚拟机)<64M CPU消耗<3000ms 请严格按要求输出,不要画蛇添足地打印类似: “请您输入...”的多余内容。 所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。 注意: 不要使用package语句。 不要使用jdk1.6及以上版本的特性。 注意: 主类的名字必须是: Main,否则按无效代码处理。 10.标题: 连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢? 这里所说的连号区间的定义是: 如果区间[L,R]里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。 当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在小明需要你的帮助。 输入格式: 第一行是一个正整数N(1<=N<=50000),表示全排列的规模。 第二行是N个不同的数字Pi(1<=Pi<=N),表示这N个数字的某一全排列。 输出格式: 输出一个整数,表示不同连号区间的数目。 示例: 用户输入: 4 3241 程序应输出: 7 用户输入: 5 34251 程序应输出: 9 解释: 第一个用例中,有7个连号区间分别是: [1,1],[1,2],[1,3],[1,4],[2,2],[3,3],[4,4] 第二个用例中,有9个连号区间分别是: [1,1],[1,2],[1,3],[1,4],[1,5],[2,2],[3,3],[4,4],[5,5] 资源约定: 峰值内存消耗(含虚拟机)<64M CPU消耗<5000ms 请严格按要求输出,不要画蛇添足地打印类似: “请您输入...”的多余内容。 所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。 注意: 不要使用package语句。 不要使用jdk1.6及以上版本的特性。 注意: 主类的名字必须是: Main,否则按无效代码处理。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 届蓝桥杯 本科