第一篇:2013年蓝桥杯全国软件大赛预赛真题-Java专科
标题: 猜年龄
美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。
一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:
“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”
请你推算一下,他当时到底有多年轻。
通过浏览器,直接提交他那时的年龄数字。
注意:不要提交解答过程,或其它的说明文字。标题: 组素数
素数就是不能再进行等分的数。比如:2 3 5 7 11 等。
= 3 * 3 说明它可以3等分,因而不是素数。
我们国家在1949年建国。如果只给你 1 9 4 9 这4个数字卡片,可以随意摆放它们的先后顺序(但卡片不能倒着摆放啊,我们不是在脑筋急转弯!),那么,你能组成多少个4位的素数呢?
比如:1949,4919 都符合要求。
请你提交:能组成的4位素数的个数,不要罗列这些素数!
注意:不要提交解答过程,或其它的辅助说明文字。
标题: 马虎的算式
小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。
有一次,老师出的题目是:36 x 495 = ?
他却给抄成了:396 x 45 = ?
但结果却很戏剧性,他的答案竟然是对的!
因为 36 * 495 = 396 * 45 = 17820
类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54
假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)
能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢?
请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。
满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。
答案直接通过浏览器提交。
注意:只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。标题: 第39级台阶
小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
站在台阶前,他突然又想着一个问题:
如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?
请你利用计算机的优势,帮助小明寻找答案。
要求提交的是一个整数。
注意:不要提交解答过程,或其它的辅助说明文字。标题:有理数类
有理数就是可以表示为两个整数的比值的数字。一般情况下,我们用近似的小数表示。但有些时候,不允许出现误差,必须用两个整数来表示一个有理数。
这时,我们可以建立一个“有理数类”,下面的代码初步实现了这个目标。为了简明,它只提供了加法和乘法运算。
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);
请分析代码逻辑,并推测划线处的代码,通过网页提交
注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!
标题:逆波兰表达式
正常的表达式称为中缀表达式,运算符在中间,主要是给人阅读的,机器求解并不方便。
例如:3 + 5 *(2 + 6)* 三种运算符
2.每个运算数都是一个小于10的非负整数
下面的程序对一个逆波兰表示串进行求值。
其返回值为一个数组:其中第一元素表示求值结果,第二个元素表示它已解析的字符数。
static int[] evaluate(String x){
if(x.length()==0)return new int[] {0,0};
char c = x.charAt(0);
if(c>='0' && c<='9')return new int[] {c-'0',1};
int[] v1 = evaluate(x.substring(1));
int[] v2 = __________________________________________;//填空位置
int v = Integer.MAX_VALUE;
if(c=='+')v = v1[0] + v2[0];
if(c=='*')v = v1[0] * v2[0];
if(c=='-')v = v1[0]-v2[0];
return new int[] {v,1+v1[1]+v2[1]};}
请分析代码逻辑,并推测划线处的代码,通过网页提交。
注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!
标题:核桃的数量
小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:
1.各组的核桃数量必须相同
2.各组内必须能平分核桃(当然是不能打碎的)
3.尽量提供满足1,2条件的最小数量(节约闹革命嘛)
程序从标准输入读入: a b c a,b,c都是正整数,表示每个组正在加班的人数,用空格分开(a,b,c<30)
程序输出:
一个正整数,表示每袋核桃的数量。
例如: 用户输入: 2 4 5
程序输出: 20
再例如: 用户输入: 3 1 1
程序输出: 3
资源约定:
峰值内存消耗(含虚拟机)< 64M CPU消耗
< 1000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。注意:不要使用package语句。不要使用jdk1.6及以上版本的特性。注意:主类的名字必须是:Main,否则按无效代码处理。
标题:打印十字图
小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示(可参见p1.jpg)
$$$$$$$$$$$$$
$
$
$$$ $$$$$$$$$ $$$
$
$
$
$
$ $$$ $$$$$ $$$ $
$ $
$
$
$ $
$ $ $$$ $ $$$ $ $
$ $ $
$
$ $ $
$ $ $ $$$$$ $ $ $
$ $ $
$
$ $ $
$ $ $$$ $ $$$ $ $
$ $
$
$
$ $
$ $$$ $$$$$ $$$ $
$
$
$
$
$$$ $$$$$$$$$ $$$
$
$
$$$$$$$$$$$$$
对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。
为了能准确比对空白的数量,程序要求对行中的空白以句点(.)代替。
输入格式:
一个正整数 n(n<30)表示要求打印图形的层数
输出:
对应包围层数的该标志。
例如: 用户输入: 1 程序应该输出:..$$$$$....$...$..$$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$..$...$....$$$$$..再例如: 用户输入: 3 程序应该输出:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..请仔细观察样例,尤其要注意句点的数量和输出位置。
资源约定:
峰值内存消耗(含虚拟机)< 64M CPU消耗
< 1000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。注意:不要使用package语句。不要使用jdk1.6及以上版本的特性。注意:主类的名字必须是:Main,否则按无效代码处理。
p1.jpg
标题:买不到的数目
小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。
小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。
你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。
本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。
输入:
两个正整数,表示每种包装中糖的颗数(都不多于1000)
要求输出:
一个正整数,表示最大不能买到的糖数
例如: 用户输入: 4 7 程序应该输出: 17
再例如: 用户输入: 3 5 程序应该输出: 7
资源约定:
峰值内存消耗(含虚拟机)< 64M CPU消耗
< 3000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。注意:不要使用package语句。不要使用jdk1.6及以上版本的特性。注意:主类的名字必须是:Main,否则按无效代码处理。
标题:剪格子
如图p1.jpg所示,3 x 3 的格子中填写了一些整数。
我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60。
本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。
如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。
如果无法分割,则输出 0
程序输入输出格式要求:
程序先读入两个整数 m n 用空格分割(m,n<10)表示表格的宽度和高度
接下来是n行,每行m个正整数,用空格分开。每个整数不大于10000 程序输出:在所有解中,包含左上角的分割区可能包含的最小的格子数目。
例如: 用户输入: 3 3 10 1 52 20 30 1 1 2 3
则程序输出: 3
再例如: 用户输入: 4 3 1 1 1 1 1 30 80 2 1 1 1 100
则程序输出: 10
(参见p2.jpg)
资源约定:
峰值内存消耗(含虚拟机)< 64M CPU消耗
< 5000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。注意:不要使用package语句。不要使用jdk1.6及以上版本的特性。注意:主类的名字必须是:Main,否则按无效代码处理。
第二篇:2013蓝桥杯 预赛-C高职高专组真题资料
第四届“蓝桥杯”全国软件专业人才设计与创业大赛选拔赛
C/C++高职高专组
考生须知:
考试开始后,选手首先下载题目到本机不被还原的盘符,并使用考场现场公布的解压密码解压试题。
考试时间为9:00-13:00,共4个小时。13点整时间截止时,将无法提交答案。选手因考试结束不能提交答案的,责任由选手自负。
在考试强制结束前,选手可以主动结束考试(需要身份验证),结束考试后将无法继续提交或浏览答案。
选手可浏览自己已经提交的答案。
对同一题目,选手可多次提交答案,以最后一次提交的答案为准。 选手切勿在提交的代码中书写“姓名”、“考号”,“院校名”等与身份有关的信息或其它与竞赛题目无关的内容,否则成绩无效。
选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它方式提交的答案无效。
试题包含三种类型:“结果填空”、“代码填空”与“程序设计”。
结果填空题:要求选手根据题目描述直接填写结果。求解方式不限。不要求源代码。把结果填空的答案直接通过网页提交即可,不要书写多余的内容。代码填空题:要求选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不超过一条语句(即中间不能出现分号)。
把代码填空的答案(仅填空处的答案,不包括题面已存在的代码或符号)直接通过网页提交即可,不要书写多余的内容。
注意选择自己使用的编译环境。
使用ANSI C/ANSI C++ 标准,不要依赖操作系统或编译器提供的特殊函数。程序设计题目:要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果才有机会得分。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。
对于编程题目,要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。
代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI C++标准的类库。例如,不能使用CString类型(属于MFC类库)。
注意: main函数需要返回0 注意: 所有依赖的函数必须明确地在源文件中 #include
所有源码必须在同一文件中。调试通过后,拷贝提交。提交时,注意选择所期望的编译器类型。
1.结果填空(满分3分)问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目
第1/14
页 录中。请先阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。题目标题: 猜年龄
美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。
一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:
“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”
请你推算一下,他当时到底有多年轻。
通过浏览器,直接提交他那时的年龄数字。
注意:不要提交解答过程,或其它的说明文字。
答案:18
2.结果填空(满分6分)问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。标题: 马虎的算式
小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。
有一次,老师出的题目是:36 x 495 = ?
他却给抄成了:396 x 45 = ?
但结果却很戏剧性,他的答案竟然是对的!
因为 36 * 495 = 396 * 45 = 17820
类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54
假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)
能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢?
请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。
满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。
答案直接通过浏览器提交。
第2/14
页 注意:只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。
答案:3
3.结果填空(满分8分)问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。标题: 振兴中华
小明参加了学校的趣味运动会,其中的一个项目是:跳格子。
地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg)
从我做起振 我做起振兴 做起振兴中 起振兴中华
比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。
要求跳过的路线刚好构成“从我做起振兴中华”这句话。
请你帮助小明算一算他一共有多少种可能的跳跃路线呢?
答案是一个整数,请通过浏览器直接提交该数字。
注意:不要提交解答过程,或其它辅助说明类的内容。
4.结果填空(满分13分)问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。标题: 幻方填空
第3/14
页
幻方是把一些数字填写在方阵中,使得行、列、两条对角线的数字之和都相等。
欧洲最著名的幻方是德国数学家、画家迪勒创作的版画《忧郁》中给出的一个4阶幻方。
他把1,2,3,...16 这16个数字填写在4 x 4的方格中。
如图p1.jpg所示,即: ? ? 13 ? ? 11 ? 10 9 ? ? * ? 15 ? 1
14
表中有些数字已经显露出来,还有些用?和*代替。
请你计算出? 和 * 所代表的数字。并把 * 所代表的数字作为本题答案提交。
答案是一个整数,请通过浏览器直接提交该数字。注意:不要提交解答过程,或其它辅助说明类的内容。
5.代码填空(满分5分)问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式。
只要求填写缺失的代码部分,千万不要画蛇添足,填写多余的已有代码或符号。必须通过浏览器提交答案。注意选择自己使用的编译环境。
题目标题:公约数公倍数
第4/14
页
我们经常会用到求两个整数的最大公约数和最小公倍数的功能。
下面的程序给出了一种算法。
函数 myfunc 接受两个正整数a,b
经过运算后打印出 它们的最大公约数和最小公倍数。
此时,调用 myfunc(15,20)
将会输出: 3 60
// 交换数值
void swap(int *a,int *b){
int temp;
temp=*a;
*a=*b;
*b=temp;}
void myfunc(int a, int b){
int m,n,r;
if(a
m=a;n=b;r=a%b;
while(r!=0)
{
a=b;b=r;
r=a%b;
}
printf(“%dn”,b);// 最大公约数
printf(“%dn”,______(m/b)*(n/b)*b_________);// 最小公倍数
}
请分析代码逻辑,并推测划线处的代码,通过网页提交。
注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!
6.代码填空(满分8分)问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目
第5/14
页 录中。请先阅读题目,不限解决问题的方式。
只要求填写缺失的代码部分,千万不要画蛇添足,填写多余的已有代码或符号。必须通过浏览器提交答案。注意选择自己使用的编译环境。
标题:三部排序
一般的排序有许多经典算法,如快速排序、希尔排序等。
但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。
比如,对一个整型数组中的数字进行分类排序:
使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!
以下的程序实现了该目标。
其中x指向待排序的整型数组,len是数组的长度。
void sort3p(int* x, int len){ int p = 0;int left = 0;int right = len-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{
____ p++_____;//填空位置
}
第6/14
页 }
}
如果给定数组:
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.程序设计(满分5分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,必须通过编程的方式解决问题。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容,例如:“请您输入xx数据:”。
建议仔细阅读示例,不要想当然!
程序处理完一个用例的数据后,立即退出(return 0),千万不要循环等待下一个用例的输入。
程序必须使用标准输入、标准输出,以便于机器评卷时重定向。
对于编程题目,要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。
代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI C++标准的类库。例如,不能使用CString类型(属于MFC类库)。
注意: main函数结尾需要return 0 注意: 所有依赖的函数必须明确地在源文件中 #include
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。提交时,注意选择所期望的编译器类型。标题:核桃的数量
小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:
1.各组的核桃数量必须相同
2.各组内必须能平分核桃(当然是不能打碎的)
3.尽量提供满足1,2条件的最小数量(节约闹革命嘛)
第7/14
页
程序从标准输入读入: a b c a,b,c都是正整数,表示每个组正在加班的人数,用空格分开(a,b,c<30)
程序输出:
一个正整数,表示每袋核桃的数量。
例如: 用户输入: 2 4 5
程序输出: 20
再例如: 用户输入: 3 1 1
程序输出: 3
8.程序设计(满分12分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,必须通过编程的方式解决问题。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容,例如:“请您输入xx数据:”。
建议仔细阅读示例,不要想当然!
程序处理完一个用例的数据后,立即退出(return 0),千万不要循环等待下一个用例的输入。
程序必须使用标准输入、标准输出,以便于机器评卷时重定向。
对于编程题目,要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。
代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI C++标准的类库。例如,不能使用CString类型(属于MFC类库)。
注意: main函数结尾需要return 0 注意: 所有依赖的函数必须明确地在源文件中 #include
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。提交时,注意选择所期望的编译器类型。
第8/14
页 题目标题:打印十字图
小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示(可参见p1.jpg)
$$$$$$$$$$$$$
$
$
$$$ $$$$$$$$$ $$$
$
$
$
$
$ $$$ $$$$$ $$$ $
$ $
$
$
$ $
$ $ $$$ $ $$$ $ $
$ $ $
$
$ $ $
$ $ $ $$$$$ $ $ $
$ $ $
$
$ $ $
$ $ $$$ $ $$$ $ $
$ $
$
$
$ $
$ $$$ $$$$$ $$$ $
$
$
$
$
$$$ $$$$$$$$$ $$$
$
$
$$$$$$$$$$$$$
对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。
为了能准确比对空白的数量,程序要求对行中的空白以句点(.)代替。
输入格式:
一个正整数 n(n<30)表示要求打印图形的层数
输出:
对应包围层数的该标志。
例如: 用户输入: 1 程序应该输出:..$$$$$....$...$..$$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$
第9/14 页
..$...$....$$$$$..再例如: 用户输入: 3 程序应该输出:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..请仔细观察样例,尤其要注意句点的数量和输出位置。第10/14 页
9.程序设计(满分15分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,必须通过编程的方式解决问题。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容,例如:“请您输入xx数据:”。
建议仔细阅读示例,不要想当然!
程序处理完一个用例的数据后,立即退出(return 0),千万不要循环等待下一个用例的输入。
程序必须使用标准输入、标准输出,以便于机器评卷时重定向。
对于编程题目,要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。
代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI C++标准的类库。例如,不能使用CString类型(属于MFC类库)。
注意: main函数结尾需要return 0 注意: 所有依赖的函数必须明确地在源文件中 #include
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。提交时,注意选择所期望的编译器类型。
第11/14
页 标题:带分数
可以表示为带分数的形式:100 = 3 + 69258 / 714
还可以表示为:100 = 82 + 3546 / 197
注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。
类似这样的带分数,100 有 11 种表示法。
题目要求:
从标准输入读入一个正整数N(N<1000*1000)程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。注意:不要求输出每个表示,只统计有多少表示法!
例如: 用户输入: 100 程序输出: 11
再例如: 用户输入: 105 程序输出: 6
10.程序设计(满分25分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,必须通过编程的方式解决问题。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容,例如:“请您输入xx数据:”。
建议仔细阅读示例,不要想当然!
程序处理完一个用例的数据后,立即退出(return 0),千万不要循环等待下一个用例的输入。
程序必须使用标准输入、标准输出,以便于机器评卷时重定向。
对于编程题目,要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。
第12/14
页 代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI C++标准的类库。例如,不能使用CString类型(属于MFC类库)。
注意: main函数结尾需要return 0 注意: 所有依赖的函数必须明确地在源文件中 #include
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。提交时,注意选择所期望的编译器类型。标题:剪格子
如图p1.jpg所示,3 x 3 的格子中填写了一些整数。
我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60。
本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。
如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。
如果无法分割,则输出 0
程序输入输出格式要求:
程序先读入两个整数 m n 用空格分割(m,n<10)表示表格的宽度和高度
接下来是n行,每行m个正整数,用空格分开。每个整数不大于10000 程序输出:在所有解中,包含左上角的分割区可能包含的最小的格子数目。
例如: 用户输入: 3 3 10 1 52 20 30 1 1 2 3
则程序输出: 3
第13/14
页
再例如: 用户输入: 4 3 1 1 1 1 1 30 80 2 1 1 1 100
则程序输出: 10
(参见p2.jpg)
第14/14 页
第三篇:2013第四届蓝桥杯大赛真题(高职组)
题目1标题: 猜年龄
美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。
一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:
“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”
请你推算一下,他当时到底有多年轻。
通过浏览器,直接提交他那时的年龄数字。
注意:不要提交解答过程,或其它的说明文字。
2标题: 马虎的算式
小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。
有一次,老师出的题目是:36 x 495 = ?
他却给抄成了:396 x 45 = ?
但结果却很戏剧性,他的答案竟然是对的!
因为 36 * 495 = 396 * 45 = 17820
类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54
假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)
能满足形如:ab * cde = adb * ce这样的算式一共有多少种呢?
请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。
满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。
答案直接通过浏览器提交。
注意:只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。3 标题: 振兴中华
小明参加了学校的趣味运动会,其中的一个项目是:跳格子。
地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg)
从我做起振 我做起振兴 做起振兴中 起振兴中华
比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。
要求跳过的路线刚好构成“从我做起振兴中华”这句话。
请你帮助小明算一算他一共有多少种可能的跳跃路线呢?
答案是一个整数,请通过浏览器直接提交该数字。注意:不要提交解答过程,或其它辅助说明类的内容。标题: 幻方填空
幻方是把一些数字填写在方阵中,使得行、列、两条对角线的数字之和都相等。
欧洲最著名的幻方是德国数学家、画家迪勒创作的版画《忧郁》中给出的一个4阶幻方。
他把1,2,3,...16 这16个数字填写在4 x 4的方格中。
如图p1.jpg所示,即: 16 ? ? 13 ? ? 11 ? 9 ? ? * ? 15 ? 1
表中有些数字已经显露出来,还有些用?和*代替。
请你计算出? 和 * 所代表的数字。并把 * 所代表的数字作为本题答案提交。
答案是一个整数,请通过浏览器直接提交该数字。注意:不要提交解答过程,或其它辅助说明类的内容。
题目标题:公约数公倍数
我们经常会用到求两个整数的最大公约数和最小公倍数的功能。
下面的程序给出了一种算法。
函数myfunc接受两个正整数a,b
经过运算后打印出它们的最大公约数和最小公倍数。
此时,调用myfunc(15,20)
将会输出: 5 60 // 交换数值
void swap(int *a,int *b){ int temp;temp=*a;
*a=*b;
*b=temp;}
voidmyfunc(int a, int b){ intm,n,r;
if(a
m=a;n=b;r=a%b;while(r!=0)
{
a=b;b=r;
r=a%b;
} printf(“%dn”,b);// 最大公约数
printf(“%dn”, ____________________________________);// 最小公倍数 }
请分析代码逻辑,并推测划线处的代码,通过网页提交。
注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!
标题:三部排序
一般的排序有许多经典算法,如快速排序、希尔排序等。
但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。
比如,对一个整型数组中的数字进行分类排序:
使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!
以下的程序实现了该目标。
其中x指向待排序的整型数组,len是数组的长度。
void sort3p(int* x, intlen){ int p = 0;int left = 0;int right = len-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
请分析代码逻辑,并推测划线处的代码,通过网页提交
注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!
标题:核桃的数量
小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:
1.各组的核桃数量必须相同
2.各组内必须能平分核桃(当然是不能打碎的)
3.尽量提供满足1,2条件的最小数量(节约闹革命嘛)
程序从标准输入读入: a b c a,b,c都是正整数,表示每个组正在加班的人数,用空格分开(a,b,c<30)
程序输出:
一个正整数,表示每袋核桃的数量。
例如: 用户输入: 2 4 5
程序输出: 20
再例如: 用户输入: 3 1 1
程序输出: 3
资源约定:
峰值内存消耗(含虚拟机)< 64M CPU消耗< 1000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意: main函数需要返回0 注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。注意: 所有依赖的函数必须明确地在源文件中 #include
提交时,注意选择所期望的编译器类型。8 题目标题:打印十字图
小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示(可参见p1.jpg)
$$$$$$$$$$$$$
$
$
$$$ $$$$$$$$$ $$$
$
$
$
$
$ $$$ $$$$$ $$$ $
$ $
$
$
$ $
$ $ $$$ $ $$$ $ $
$ $ $
$
$ $ $
$ $ $ $$$$$ $ $ $
$ $ $
$
$ $ $
$ $ $$$ $ $$$ $ $
$ $
$
$
$ $
$ $$$ $$$$$ $$$ $
$
$
$
$
$$$ $$$$$$$$$ $$$
$
$
$$$$$$$$$$$$$
对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。
为了能准确比对空白的数量,程序要求对行中的空白以句点(.)代替。
输入格式:
一个正整数 n(n<30)表示要求打印图形的层数
输出:
对应包围层数的该标志。
例如: 用户输入: 1 程序应该输出:..$$$$$....$...$..$$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$..$...$....$$$$$..再例如: 用户输入: 3 程序应该输出:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..请仔细观察样例,尤其要注意句点的数量和输出位置。
资源约定:
峰值内存消耗< 64M CPU消耗< 1000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意: main函数需要返回0 注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。注意: 所有依赖的函数必须明确地在源文件中 #include
提交时,注意选择所期望的编译器类型。标题:带分数
可以表示为带分数的形式: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
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意: main函数需要返回0 注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。注意: 所有依赖的函数必须明确地在源文件中 #include
提交时,注意选择所期望的编译器类型。
标题:剪格子
如图p1.jpg所示,3 x 3 的格子中填写了一些整数。
我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60。
本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。
如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。如果无法分割,则输出 0
程序输入输出格式要求:
程序先读入两个整数 m n 用空格分割(m,n<10)表示表格的宽度和高度
接下来是n行,每行m个正整数,用空格分开。每个整数不大于10000 程序输出:在所有解中,包含左上角的分割区可能包含的最小的格子数目。
例如: 用户输入: 3 3 10 1 52 20 30 1 1 2 3
则程序输出: 3
再例如: 用户输入: 4 3 1 1 1 1 1 30 80 2 1 1 1 100
则程序输出: 10
(参见p2.jpg)
资源约定:
峰值内存消耗< 64M CPU消耗< 5000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意: main函数需要返回0 注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。注意: 所有依赖的函数必须明确地在源文件中 #include
提交时,注意选择所期望的编译器类型。
第四篇:蓝桥杯全国软件专业人才设计与创业大赛的通知
工业和信息化部人才交流中心
教育部高等学校计算机科学与技术教学指导委员会
工信人才[2011]109号
关于举办第三届“蓝桥杯”
全国软件人才设计与创业大赛的通知
各有关院校:
为了进一步推动我国软件行业专业人才队伍建设,加快高等院校计算机类专业教学创新与改革,激发大学生在软件开发领域的学习和研究兴趣,提高高等院校学生的自主创新意识和工程实践能力,为行业培养和选拔一批优秀的软件人才,工业和信息化部人才交流中心、教育部高等学校计算机科学与技术教学指导委员会决定联合举办第三届“蓝桥杯”全国软件专业人才设计与创业大赛。
大赛分为JAVA软件开发、C/C++程序设计、创业大赛三个项目,并分别设置本科组合高职高专组,所有具有正式学籍的本科和高职高专学生(以报名时状态为准)均可参加。
IBM公司和英特尔公司作为官方战略合作伙伴对大赛提供赞助支持和技术服务。各项目具体事宜请参看大赛官方网站:www.xiexiebang.com,请各有关院校根据本校实际,积极组织学生参加,报名截止日期2011年12月20日。
大会组委会联系方式
通信地址:北京市海淀区万寿路27号工业和信息化部18#信箱(100846)
联系电话:010—68208663,010—68208667
电子邮箱:rjds@ ncic.gov.vn
第五篇:2013第四届蓝桥杯java高职组赛题
第四届“蓝桥杯”全国软件专业人才设计与创业大赛选拔赛
Java高职高专组
1.标题: 猜年龄
美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。
一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:
“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”
请你推算一下,他当时到底有多年轻。
通过浏览器,直接提交他那时的年龄数字。
注意:不要提交解答过程,或其它的说明文字。
2.标题: 组素数
素数就是不能再进行等分的数。比如:2 3 5 7 11 等。
= 3 * 3 说明它可以3等分,因而不是素数。
我们国家在1949年建国。如果只给你 1 9 4 9 这4个数字卡片,可以随意摆放它们的先后顺序(但卡片不能倒着摆放啊,我们不是在脑筋急转弯!),那么,你能组成多少个4位的素数呢?
比如:1949,4919 都符合要求。
请你提交:能组成的4位素数的个数,不要罗列这些素数!
注意:不要提交解答过程,或其它的辅助说明文字。3.标题: 马虎的算式
小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。
有一次,老师出的题目是:36 x 495 = ?
他却给抄成了:396 x 45 = ?
但结果却很戏剧性,他的答案竟然是对的!
因为 36 * 495 = 396 * 45 = 17820
类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54
假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)
能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢?
请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。
满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。
答案直接通过浏览器提交。
注意:只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。
4.标题: 第39级台阶
小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
站在台阶前,他突然又想着一个问题:
如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?
请你利用计算机的优势,帮助小明寻找答案。
要求提交的是一个整数。
注意:不要提交解答过程,或其它的辅助说明文字。
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);
请分析代码逻辑,并推测划线处的代码,通过网页提交
注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!
6.标题:逆波兰表达式
正常的表达式称为中缀表达式,运算符在中间,主要是给人阅读的,机器求解并不方便。
例如:3 + 5 *(2 + 6)* 三种运算符
2.每个运算数都是一个小于10的非负整数
下面的程序对一个逆波兰表示串进行求值。
其返回值为一个数组:其中第一元素表示求值结果,第二个元素表示它已解析的字符数。
static int[] evaluate(String x){
if(x.length()==0)return new int[] {0,0};
char c = x.charAt(0);if(c>='0' && c<='9')return new int[] {c-'0',1};
int[] v1 = evaluate(x.substring(1));int[] v2 = __________________________________________;//填空位置
int v = Integer.MAX_VALUE;if(c=='+')v = v1[0] + v2[0];if(c=='*')v = v1[0] * v2[0];if(c=='-')v = v1[0]-v2[0];
return new int[] {v,1+v1[1]+v2[1]};}
请分析代码逻辑,并推测划线处的代码,通过网页提交。
注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!7.标题:核桃的数量
小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:
1.各组的核桃数量必须相同
2.各组内必须能平分核桃(当然是不能打碎的)
3.尽量提供满足1,2条件的最小数量(节约闹革命嘛)
程序从标准输入读入: a b c a,b,c都是正整数,表示每个组正在加班的人数,用空格分开(a,b,c<30)
程序输出:
一个正整数,表示每袋核桃的数量。
例如: 用户输入: 2 4 5
程序输出: 20
再例如: 用户输入: 3 1 1
程序输出: 3
资源约定:
峰值内存消耗(含虚拟机)< 64M CPU消耗
< 1000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。注意:不要使用package语句。不要使用jdk1.6及以上版本的特性。注意:主类的名字必须是:Main,否则按无效代码处理。8.标题:打印十字图
小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示(可参见p1.jpg)
$$$$$$$$$$$$$ $ $ $$$ $$$$$$$$$ $$$ $ $ $ $ $ $$$ $$$$$ $$$ $ $ $ $ $ $ $ $ $ $$$ $ $$$ $ $ $ $ $ $ $ $ $ $ $ $ $$$$$ $ $ $ $ $ $ $ $ $ $ $ $ $$$ $ $$$ $ $ $ $ $ $ $ $ $ $$$ $$$$$ $$$ $ $ $ $ $ $$$ $$$$$$$$$ $$$ $ $ $$$$$$$$$$$$$
对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数。
为了能准确比对空白的数量,程序要求对行中的空白以句点(.)代替。
输入格式:
一个正整数 n(n<30)表示要求打印图形的层数
输出:
对应包围层数的该标志。
例如: 用户输入: 1 程序应该输出:
再例如: 用户输入: 3 程序应该输出:
..$$$$$....$...$..$$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$..$...$....$$$$$....$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..请仔细观察样例,尤其要注意句点的数量和输出位置。
资源约定:
峰值内存消耗(含虚拟机)< 64M CPU消耗
< 1000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。注意:不要使用package语句。不要使用jdk1.6及以上版本的特性。注意:主类的名字必须是:Main,否则按无效代码处理。
9.标题:买不到的数目
小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。
小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。
你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。
本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。
输入:
两个正整数,表示每种包装中糖的颗数(都不多于1000)
要求输出:
一个正整数,表示最大不能买到的糖数
例如: 用户输入: 4 7 程序应该输出: 17
再例如: 用户输入: 3 5 程序应该输出: 7
资源约定:
峰值内存消耗(含虚拟机)< 64M CPU消耗
< 3000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。注意:不要使用package语句。不要使用jdk1.6及以上版本的特性。注意:主类的名字必须是:Main,否则按无效代码处理。10.标题:剪格子
如图p1.jpg所示,3 x 3 的格子中填写了一些整数。
我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60。
本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。
如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。
如果无法分割,则输出 0
程序输入输出格式要求:
程序先读入两个整数 m n 用空格分割(m,n<10)表示表格的宽度和高度
接下来是n行,每行m个正整数,用空格分开。每个整数不大于10000 程序输出:在所有解中,包含左上角的分割区可能包含的最小的格子数目。
例如: 用户输入: 3 3 10 1 52 20 30 1 1 2 3
则程序输出: 3
再例如: 用户输入: 4 3 1 1 1 1 1 30 80 2 1 1 1 100
则程序输出: 10
(参见p2.jpg)
资源约定: 峰值内存消耗(含虚拟机)< 64M CPU消耗
< 5000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。注意:不要使用package语句。不要使用jdk1.6及以上版本的特性。注意:主类的名字必须是:Main,否则按无效代码处理。
第四届“蓝桥杯”全国软件专业人才设计与创业大赛选拔赛
Java高职高专组
考生须知:
考试开始后,选手首先下载题目到本机不被还原的盘符,并使用考场现场公布的解压密码解压试题。
考试时间为9:00-13:00,共4个小时。13点整时间截止时,将无法提交答案。选手因考试结束不能提交答案的,责任由选手自负。
在考试强制结束前,选手可以主动结束考试(需要身份验证),结束考试后将无法继续提交或浏览答案。
选手可浏览自己已经提交的答案。
对同一题目,选手可多次提交答案,以最后一次提交的答案为准。选手切勿在提交的代码中书写“姓名”、“考号”,“院校名”等与身份有关的信息或其它与竞赛题目无关的内容,否则成绩无效。
选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它方式提交的答案无效。
试题包含三种类型:“结果填空”、“代码填空”与“程序设计”。
结果填空题:要求参赛选手根据题目描述直接填写结果。求解方式不限。不要求源代码。把结果填空的答案直接通过网页提交即可,不要书写多余的内容,比如:注释说明。
代码填空题:要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不超过一条语句(即中间不能出现分号)。
把代码填空的答案(仅填空处的答案,不包括题面已存在的代码)直接通过网页提交即可,不要书写多余的内容,比如:注释或说明文字。
程序设计题目:要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果,才有机会得分。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。
所有源码必须在同一文件中。调试通过后,拷贝提交。
注意:不要使用package语句。源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本的特性。
注意:选手代码的主类名必须为:Main,否则会被判为无效代码。
结果填空(满分3分)问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请仔细阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。
只提交题目要求的内容,不要填写任何多余的文字!
结果填空(满分5分)问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。
结果填空(满分8分)问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。
结果填空(满分12分)问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。
代码填空(满分6分)问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式。
只要求填写缺失的代码部分,千万不要画蛇添足,填写多余的已有代码或符号。必须通过浏览器提交答案。
代码填空(满分11分)问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式。
只要求填写缺失的代码部分,千万不要画蛇添足,填写多余的已有代码或符号。必须通过浏览器提交答案。
程序设计(满分4分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,必须通过编程的方式解决问题。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容。建议仔细阅读示例,不要想当然!
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。不要使用package语句。
注意:选手代码的主类名必须为:Main,否则会被判为无效代码。
程序设计(满分12分)问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,必须通过编程的方式解决问题。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容。建议仔细阅读示例,不要想当然!
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。不要使用package语句。
注意:选手代码的主类名必须为:Main,否则会被判为无效代码。
程序设计(满分15分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,必须通过编程的方式解决问题。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容。建议仔细阅读示例,不要想当然!
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。不要使用package语句。
注意:选手代码的主类名必须为:Main,否则会被判为无效代码。
程序设计(满分24分)
问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,必须通过编程的方式解决问题。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容。建议仔细阅读示例,不要想当然!
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。不要使用package语句。
注意:选手代码的主类名必须为:Main,否则会被判为无效代码。