第五届蓝桥杯全国软件设计大赛--2013年校内选拔赛Java题目

第五届蓝桥杯全国软件设计大赛

2013年校内选拔赛Java题目

一、考生注意:

(1)【结果填空题】要求参赛选手根据题目描述直接填写结果。求解方式不限。不要求源代码。

把答案存入【考生文件夹】下对应题号的文件中即可。

(2)【代码填空题】要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不超过一条语句(即中间不能出现分号)。

把填空的答案(仅填空处的答案,不包括题面已存在的代码)存入【考生文件夹】下对应题号的文件中中即可。

(3)【编程题】要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果的时候才有机会得分。注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。

对每个编程题目,要求考生把所有方法写在一个文件中。调试好后,存入与【考生文件夹】下对应题号的文件中中即可。相关的工程文件不要拷入。

二、操作准备:

(1)在“2013Java校内选拔赛文件”下建立【考生文件夹】,名字为“学号+姓名”,例如你的姓名为:李明,学号是2012999001,则你的【考生文件夹】为:2012999001李明。

(2)把“2013Java校内选拔赛文件”下的全部文本文件移动到你的【考生文件夹】中。

 

三、考试内容:

1.【结果填空题】(5分)

问题描述:

1949年的国庆节(10月1日)是星期六。今年(2013)的国庆节是星期二。

那么,从建国到现在,有10次国庆节正好是星期一。分别为哪几年?要求写出分别是哪几年,每一年作为一行。

只要答案,不限手段!可以用windows日历,windows计算器等工具。当然,也可以编程!不用提交源代码!

把答案放到文件t1.txt中即可。

 

2. 【结果填空题】(5分)

问题描述:

625这个数字很特别,625的平方等于390625,刚好其末3位是625本身。除了625,还有其它的3位数有这个特征吗?

请寻找所有这样的2位数和3位数:2位数的平方的末2位是这个数字本身;3位数的平方的末3位是这个数字本身。

输出结果按如下格式输出,要求从小到大,每个找到的数字占一行。比如找到那个625就输出为:

625*626=390625

只要答案,不限手段!当然,也可以编程!不用提交源代码!

把答案放到文件t2.txt中即可。

3.【代码填空题】(5分)

问题描述:三部排序

一般的排序有许多经典算法,如快速排序、希尔排序等。

但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。

比如,对一个整型数组中的数字进行分类排序:

使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!!

以下的程序实现了该目标。

static void sort(int[] x)

{

int p = 0;

int left = 0;

int right = x.length-1;

while(p<=right){

if(x[p]<0){

int t = x[left];

x[left] = x[p];

x[p] = t;

left++;

p++;

}

else if(x[p]>0){

int t = 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

请分析代码逻辑,并推测划线处的代码,把答案放到文件t3.txt中即可。

注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!!

4.【代码填空题】(5分)

问题描述:有理数类

有理数就是可以表示为两个整数的比值的数字。一般情况下,我们用近似的小数表示。但有些时候,不允许出现误差,必须用两个整数来表示一个有理数。

这时,我们可以建立一个“有理数类”,下面的代码初步实现了这个目标。为了简明,它只提供了加法和乘法运算。

class Rational

{

private long ra;

private long rb;

private long gcd(long a, long b){

if(b==0) return a;

return gcd(b,a%b);

}

public Rational(long a, long b){

ra = a;

rb = b;

long k = gcd(ra,rb);

if(k>1){ //需要约分

ra /= k;

rb /= k;

}

}

// 加法

public Rational add(Rational x){

return ________________________________________;  //填空位置

}

// 乘法

public Rational mul(Rational x){

return new Rational(ra*x.ra, rb*x.rb);

}

public String toString(){

if(rb==1) return "" + ra;

return ra + "/" + rb;

}

}

使用该类的示例:

Rational a = new Rational(1,3);

Rational b = new Rational(1,6);

Rational c = a.add(b);

System.out.println(a + "+" + b + "=" + c);

请分析代码逻辑,并推测划线处的代码,把答案放到文件t4.txt中即可。

注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!!

5. 问题描述(20分)

Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。

当n比较大时,Fn也非常大,现在我们想知道,Fn除以1000的余数是多少。请编写程序实现。

输入格式

输入一个整数n。

输出格式

输出一行,包含一个整数,表示Fn除以1000的余数。

(注意不用任何多余的输入和输出提示)


样例输入


样例输入


样例输入


样例输入


10


22


100


10000


样例输出


样例输出


样例输出


样例输出


55


711


75


875

数据规模与约定:1 <= n <= 10000。

把答案放到文件t5.txt中即可。

6. 问题描述(20分)

考虑方程式:a^3 + b^3 = c^3 + d^3

其中:“^”表示乘方。a、b、c、d是互不相同的小于30的正整数。

这个方程有很多解。比如:

a = 1,b=12,c=9,d=10 就是一个解。因为:1的立方加12的立方等于1729,而9的立方加10的立方也等于1729。

当然,a=12,b=1,c=9,d=10 显然也是解。

如果不计abcd交换次序的情况,这算同一个解。

请编写程序实现如下任务:找到所有小于30的不同的正整数解。把a b c d按从小到大排列,用逗号分隔,每个解占用1行。比如,刚才的解输出为:

1,9,10,12

不同解间的顺序可以不考虑。

把答案放到文件t6.txt中即可。

 

7. 问题描述(20分)

  123321是一个非常特殊的数,它从左边读和从右边读是一样的。

  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

输入格式

  输入一行,包含一个正整数n。

输出格式

按从小到大的顺序输出满足条件的整数,每个整数占一行。


样例输入


样例输入


52


50


样例输出


样例输出


899998

989989

998899


799997

889988

898898

979979

988889

997799

数据规模和约定:1<=n<=54。

把答案放到文件t7.txt中即可。

8. 问题描述(20分)

请编写一个方法 void fun(int m, int k, int xx[]),该方法的功能是: 将大于整数 m 且紧靠 m 的 k 个素数存入数组 xx 传回。

例如, 若输入17, 5, 则应输出:19, 23, 29, 31, 37。

把答案放到文件t8.txt中即可。

时间: 2024-10-10 05:55:44

第五届蓝桥杯全国软件设计大赛--2013年校内选拔赛Java题目的相关文章

记2014“蓝桥杯全国软件大赛&quot;决赛北京之行

5月29,30日 终于到了这一天.晚上有数据结构课,10点多的火车,我们就没有去上课,下午在宿舍里收拾东西,晚上8点左右从南校出发,9点半多到达火车站和老师学长学姐们会和. 第一次去北京,第一次买的卧铺,真的很兴奋.对这次北京之行满满的都是期待.卧铺,躺在上面很舒服,因为第一次,不知道还需要换票,就把票放在包里了,找了一会才找到,看来还是得把票随身带着.卧铺晚上熄灯,我看了一部电影,然后就睡着了,一觉睡到五点多.上午看了看模板,这次蓝桥杯决赛说实话没有怎么认真的准备,做的题也比较少.把一些小的知

2015第六届蓝桥杯全国软件大赛省赛(预赛)总结

这是我上大学以来第一次自发的写总结,这也许意味着我对大学的看法和接下来的大学生活都将有所改变吧.首先说说引导我写这篇总结的"人物"吧,RUI,从大一开始便是同学,直到大三成为了舍友.他的成绩一直很好,如果没记错的话,大一专业第一名,大二好像也是第一第二的,总之在班里一直名列前茅,在学习成绩里边,最让我羡慕的就是他的英语了,四级和六级都是一次过,并且,六级考了500多分(具体多少记不清了),呃...除了学习成绩好之外,专业能力更是没的说,在大一就加入了学院里的ACM实验室,编程能力那也是

全国软件设计大赛C/C++语言练习

本博转自: https://blog.csdn.net/liuqiyao_01/article/details/8477645 杭电acm阶段之理工大版 原文地址:https://www.cnblogs.com/lumc5/p/12359920.html

第五届蓝桥杯软件大赛C/C++本科B组决赛解题报告

mnesia在频繁操作数据的过程可能会报错:** WARNING ** Mnesia is overloaded: {dump_log, write_threshold},可以看出,mnesia应该是过载了.这个警告在mnesia dump操作会发生这个问题,表类型为disc_only_copies .disc_copies都可能会发生. 如何重现这个问题,例子的场景是多个进程同时在不断地mnesia:dirty_write/2 mnesia过载分析 1.抛出警告是在mnesia 增加dump

算法笔记_206:第五届蓝桥杯软件类决赛真题(Java语言A组)

目录 1 海盗分金币 2 六角幻方 3 格子放鸡蛋 4 排列序数 5 幂一矩阵 6 供水设施   1 海盗分金币 有5个海盗,相约进行一次帆船比赛. 比赛中天气发生突变,他们被冲散了. 恰巧,他们都先后经过途中的一个无名的荒岛,并且每个人都信心满满,觉得自己是第一个经过该岛的人. 第一个人在沙滩上发现了一堆金币.他把金币分成5等份.发现刚好少一个金币.他就从自己口袋拿出一个金币补充进去,然后把属于自己的那份拿走. 第二个到达的人也看到了金币,他也和第一个人一样,把所有金币5等分,发现刚好缺少一个

第五届蓝桥杯练习题 - 入门练习Java解题代码

>>入门训练 圆的面积 时间限制:1.0s   内存限制:256.0MB 锦囊1 锦囊2 锦囊3 问题描述 给定圆的半径r,求圆的面积. 输入格式 输入包含一个整数r,表示圆的半径. 输出格式 输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积. 说明:在本题中,输入是一个整数,但是输出是一个实数. 对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误. 实数输出的问题

第五届蓝桥杯C++本科A组

今天上午参加了第五届蓝桥杯比赛,还是去年的地方,还是去年的考场,不同的是经过了一年的历练,多了一份坦然与自信.不管最后结果如何,是对自己一年学习的一个小小的交代.ACMER IN HHUC, we never say no. 结果填空 1. a*a+b*b+c*c=1000;a,b,c均为整数,求一组解中的最小值.暴力的题目,很容易就想到了0,10,30.所以没多想就填上了0,可是考完发现还可以是负数...悲了个剧了,三分就这么水没了.. 2. 类似于往年的一道高斯的生日,求距离某一天(yyyy

第五届蓝桥杯 蚂蚁感冒

蚂蚁感冒 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 长100厘米的细长直杆子上有n只蚂蚁.它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行. 这些蚂蚁中,有1只蚂蚁感冒了.并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁. 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒. 输入 第一行输入一个整数n (1 < n < 50), 表示蚂蚁的总数. 接着的一行是n个用空格分

算法笔记_111:第五届蓝桥杯软件类省赛真题(Java本科A组)试题解答

 目录 1 猜年龄 2 李白打酒 3 神奇算式 4 写日志 5 锦标赛 6 六角填数 7 绳圈 8 兰顿蚂蚁 9 斐波那契 10 波动数列   前言:以下试题解答代码部分仅供参考,若有不当之处,还请路过的同学提醒一下~ 1 猜年龄 标题:猜年龄 小明带两个妹妹参加元宵灯会.别人问她们多大了,她们调皮地说:"我们俩的年龄之积是年龄之和的6倍".小明又补充说:"她们可不是双胞胎,年龄差肯定也不超过8岁啊." 请你写出:小明的较小的妹妹的年龄. 注意: 只写一个人的年龄数