2014年第五届蓝桥杯预赛题目JAVA软件开发高职高专组
蓝桥杯java模拟赛试题及答案
蓝桥杯java模拟赛试题及答案蓝桥杯Java模拟赛试题及答案一、选择题(每题2分,共20分)1. Java中,下列哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A2. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. procedureD. action答案:B3. 下列哪个是Java中的合法标识符?A. 2variableB. variable2C. variable#2D. variable!答案:B4. Java中,哪个关键字用于实现接口?A. implementsB. extendsC. includesD. contains答案:A5. 在Java中,哪个关键字用于定义一个包?A. packageB. groupC. bundleD. container答案:A6. Java中,下列哪个是正确的数组声明方式?A. int[] array;B. array int[];C. int array[];D. array[] int;答案:A7. 在Java中,哪个关键字用于定义一个构造方法?A. constructorB. initializerC. setupD. method答案:D8. Java中,哪个关键字用于实现多态?A. overrideB. extendsC. implementsD. abstract答案:A9. 下列哪个是Java中的引用数据类型?A. intB. charC. StringD. boolean答案:C10. 在Java中,哪个关键字用于抛出异常?A. throwB. throwsC. exceptionD. error答案:B二、简答题(每题10分,共20分)1. 简述Java中异常处理的机制。
答案:Java中的异常处理机制主要通过try、catch、finally和throw关键字来实现。
蓝桥杯2014-决赛-C高职高专组要点
2014年决赛C/C++高职高专组考生须知:●考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题。
●考试时间为4小时。
时间截止后,提交答案无效。
●在考试强制结束前,选手可以主动结束考试(需要身份验证),结束考试后将无法继续提交或浏览答案。
●选手可浏览自己已经提交的答案。
被浏览的答案允许拷贝。
●对同一题目,选手可多次提交答案,以最后一次提交的答案为准。
●选手切勿在提交的代码中书写“姓名”、“考号”,“院校名”等与身份有关的信息或其它与竞赛题目无关的内容,否则成绩无效。
●选手必须通过浏览器方式提交自己的答案。
选手在其它位置的作答或其它方式提交的答案无效。
●试题包含三种类型:“结果填空”、“代码填空”与“程序设计”。
结果填空题:要求选手根据题目描述直接填写结果。
求解方式不限。
不要求源代码。
答案直接通过网页提交即可。
不要书写多余的内容。
代码填空题:要求选手在弄清给定代码工作原理的基础上,填写缺失的代码,使得程序逻辑正确。
所填写的代码不超过一条语句(即中间不能出现分号)。
把答案(仅填空处的答案,不包括题面已存在的代码或符号)直接通过网页提交。
不要书写多余的内容(比如注释)。
使用ANSI C/ANSI C++ 标准,不要依赖操作系统或编译器提供的特殊函数。
程序设计题目:要求选手设计的程序对于给定的输入能给出正确的输出结果。
考生的程序只有能运行出正确结果才有机会得分。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。
代码中允许使用STL类库,但不能使用MFC或A TL等非ANSI C++标准的类库。
例如,不能使用CString类型(属于MFC类库)。
注意: main函数必须返回0注意: 所有依赖的函数必须明确地在源文件中#include <xxx>,不能通过工程设置而省略常用头文件。
2014第五届蓝桥杯省赛javaA组之神奇算式答案
import java.util.Arrays;/*标题:神奇算式由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字组成。
比如:210 x 6 = 12608 x 473 = 378427 x 81 = 2187都符合要求。
如果满足乘法交换律的算式算作同一种情况,那么,包含上边已列出的3种情况,一共有多少种满足要求的算式。
请填写该数字,通过浏览器提交答案,不要填写多余内容(例如:列出所有算式)。
*/publicclass Main {publicstaticvoid main(String[] args) { int count=0;for(int i=1023;i<=9876;i++){int t1=i/1000;int t2=i%1000/100;int t3=i%1000%100/10;int t4=i%10;if(t1!=t2&&t1!=t3&&t1!=t4&&t2!=t3&&t2!=t4 &&t3!=t4){int[] array={t1,t2,t3,t4};Arrays.sort(array);//1-3next: for(int j= 0; j<array.length; j++) {if(array[j]==0)continue;if(i%array[j]==0&&i/array[j]/100<10){int temp=i/array[j];int[]array2={array[j],temp/100,temp%100/10,temp% 10};//先排序再比较Arrays.sort(array2);for (int k = 0; k<array2.length; k++) {if(array[k]!=array2[k])continue next;}count++;}}//2-2for(int j= 0; j<array.length; j++) { if(array[j]!=0){next2: for (int j2 = 0;j2<array.length; j2++) {if(j2!=j){int temp=array[j]*10+array[j2];if(i%temp==0&&i/temp/10<10){int[]array2={array[j],array[j2],i/temp/10,i/temp %10};Arrays.sort(array2);for (int k = 0;k<array2.length; k++) {if(array[k]!=array2[k])continue next2;}if(temp<i/temp)count++;}}}}}}}System.out.println(count);}}。
第五届蓝桥杯C语言高职试题(填空)带答案
第一题标题:武功秘籍小明到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);elseprintf("%d ", (i*i-1)/2);}printf("\n");}请填写划线部分缺失的代码。
2014年第五届蓝桥杯预赛题目及标准答案
第七题标题:六角填数如图【1.png】所示六角形中,填入1~12的数字。
使得每条直线上的数字之和都相同。
图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?请通过浏览器提交答案,不要填写多余的内容。
7#include <cstdio>using namespace std;int arr[15], have[15];int Fun(int i){if(i == 13){int result[6];result[0] = arr[1] + arr[2] + arr[3] + arr[4], result[1] = arr[4] + arr[5] + arr[6] + arr[7];result[2] = arr[7] + arr[8] + arr[9] + arr[1], result[3] = arr[10] + arr[3] + arr[5] + arr[11];result[4] = arr[11] + arr[6] + arr[8] + arr[12], result[5] = arr[12] + arr[9] + arr[2] + arr[10];int end = 1;for(int m = 0; m < 6; m++)for(int n = m + 1; n < 6; n++)if(result[m] != result[n])end = 0;if(end){for(int i = 1; i <= 12; i++)printf("%d ", arr[i]);putchar(10);for(int i = 1; i <= 12; i++)printf("%d ", have[i]);putchar(10);getchar();}}if(i == 1 || i == 7 || i == 10)Fun(i + 1);if(!(i == 1 || i == 7 || i == 10)){for(int j = 1; j <= 12; j++){if(!have[j]){arr[i] = j;have[j] = 1;Fun(i + 1);have[j] = 0;}}}}int main(){arr[1] = 8; arr[7] = 3; arr[10] = 1;have[1] = have[3] = have[8] = 1;Fun(1);return 0;}。
蓝桥杯软件开发大赛试题
蓝桥杯软件开发大赛试题全文共四篇示例,供读者参考第一篇示例:蓝桥杯软件开发大赛是一项举办多年的IT技术比赛,旨在激发青少年对软件开发的兴趣,培养他们的编程能力和创新思维。
每年举办的蓝桥杯软件开发大赛都吸引了众多热爱编程的学生参与,展示他们的才华和技能。
本文将介绍蓝桥杯软件开发大赛的试题设置和一些参赛注意事项,希望对准备参加比赛的同学有所帮助。
蓝桥杯软件开发大赛的试题种类多样,涉及算法设计、数据结构、数据库应用、Web开发、移动应用等多个领域。
比赛分为初赛和决赛两个阶段,初赛主要是在线笔试,考察学生的编程基础和思维能力;决赛则是现场编程比赛,要求参赛选手根据赛题要求设计和实现一个完整的软件项目。
在蓝桥杯软件开发大赛的初赛中,通常会涉及一些常见的编程题目,比如求最大公约数、字符串匹配、图遍历等。
参赛选手需要在规定的时间内完成这些题目,通过分析问题、设计解决方案、编写代码,并最终得到正确的结果。
初赛中还会有一些开放性的编程题目,要求参赛选手自行设计算法和数据结构,解决现实生活中的问题,展现自己的创新能力和实践能力。
而蓝桥杯软件开发大赛的决赛阶段则更加具有挑战性,参赛选手需要在有限的时间内完成一个完整的软件项目,包括需求分析、系统设计、代码实现、测试调试等环节。
在决赛中,参赛选手还需要展示出团队协作和沟通能力,完成一个协作开发的软件项目,从而全面展现出自己的技术水平和综合素质。
在参加蓝桥杯软件开发大赛时,选手需要注意一些事项。
要认真准备,掌握扎实的编程基础和工程实践能力,熟悉各种编程语言和开发工具。
要多练习,解决更多的编程题目,提升自己的编程技能和解决问题的能力。
要注意团队合作,能够有效沟通和协作,充分发挥每个团队成员的优势,共同完成比赛任务。
蓝桥杯软件开发大赛是一个很好的展示自己技能、学习交流的平台,能够锻炼参赛选手的编程能力和团队协作能力。
希望更多的学生能够参加这样的比赛,挑战自我,不断提高,追求卓越。
2014年第五届蓝桥杯预赛题目JAVA软件开发本科A组
参赛选手切勿在提交的代码中书写“姓名”、“考号”,“院校名”等与身份有关的信息或其它与竞赛题目无关的内容,否则成绩无效。
参赛选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它方式提交的答案无效。
试题包含三种类型:“结果填空”、“代码填空”与“程序设计”。
System.out.println("write to file: " + filename + " " + msg);
}
}
请填写划线部分缺失的代码。通过浏览器提交答案。
注意:不要填写题面已有的内容,也不要填写任何说明、解释文字。
标题:锦标赛
如果要在n个数据中挑选出第一大和第二大的数据(要求输出数据所在位置和值),使用什么方法比较的次数最少?我们可以从体育锦标赛中受到启发。
如图【1.png】所示,8个选手的锦标赛,先两两捉对比拼,淘汰一半。优胜者再两两比拼...直到决出第一名。
第一名输出后,只要对黄色标示的位置重新比赛即可。
下面的代码实现了这个算法(假设数据中没有相同值)。
代码中需要用一个数组来表示图中的树(注意,这是个满二叉树,不足需要补齐)。它不是存储数据本身,而是存储了数据的下标。
else
b[k] = -1;
return;
}
if(b[k2]<0){
if(b[k1]>=0)
b[k] = b[k1];
else
b[k] = -1;
return;
}
if(__________________________) //填空
b[k] = b[k1];
蓝桥杯java试题及答案
蓝桥杯java试题及答案蓝桥杯是中国著名的计算机科学与技术竞赛,旨在选拔和培养优秀的计算机人才,尤其是高中和大学的学生。
Java是蓝桥杯竞赛中常见的编程语言之一。
本文将介绍一些常见的蓝桥杯Java试题,并提供相应的答案。
一、编程题1. 题目描述:请编写一个Java程序,实现将一个整数数组中的奇数和偶数分别放在两个新数组中,并按照从小到大的顺序排列。
解题思路:可以使用两个ArrayList来保存奇数和偶数,先遍历原数组,将奇数放入奇数数组,将偶数放入偶数数组,然后分别对两个数组进行升序排序。
代码实现:```javaimport java.util.ArrayList;import java.util.Arrays;import java.util.Collections;public class SplitArray {public static void main(String[] args) {int[] arr = {1, 2, 3, 4, 5, 6};ArrayList<Integer> oddList = new ArrayList<>(); ArrayList<Integer> evenList = new ArrayList<>(); for (int num : arr) {if (num % 2 == 0) {evenList.add(num);} else {oddList.add(num);}}Collections.sort(oddList);Collections.sort(evenList);System.out.println("奇数数组:" + oddList);System.out.println("偶数数组:" + evenList);}}```答案分析:该程序首先定义了一个整型数组 `arr`,然后创建两个ArrayList:`oddList`用于保存奇数,`evenList`用于保存偶数。
蓝桥杯Java试题汇总-共48页
1. 历届试题核桃的数量问题描述小张是软件项目经理,他带领3个开发组。
工期紧,今天都在加班呢。
为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。
他的要求是:1. 各组的核桃数量必须相同2. 各组内必须能平分核桃(当然是不能打碎的)3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入格式输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30)输出格式输出一个正整数,表示每袋核桃的数量。
样例输入12 4 5样例输出120样例输入23 1 1 样例输出2 3JAVA源代码1import java.util.Scanner;2public class Main {34public static void main(String[]args){5 Scanner sc=new Scanner(System.in);6int a=sc.nextInt();7int b=sc.nextInt();8int c=sc.nextInt();9int i;10for(i=1;;i++){11if(i%a==0&&i%b==0&&i%c==0)1213break;14 }15 System.out.println(i);16}}2.基础练习Sine之舞时间限制:1.0s 内存限制:512.0MB问题描述最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功。
所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。
不妨设An=sin(1–sin(2+sin(3–sin(4+...sin(n))...)Sn=(...(A1+n)A2+n-1)A3+...+2)An+1FJ想让奶牛们计算Sn的值,请你帮助FJ打印出Sn的完整表达式,以方便奶牛们做题。
输入格式仅有一个数:N<201。
第五届蓝桥杯程序设计大赛省赛题目及答案
第五届省赛1.一个串的子串是指该串的一个连续的局部。
如果不要求连续,则可称为它的子序列。
比如对串: "abcdefg" 而言,"ab","abd","bdef" 等都是它的子序列。
特别地,一个串本身,以及空串也是它的子序列。
对两个串而言,可以有许多的共同的子序列,我们关心的是:它们所共同拥有的长度最大的子序列是多长。
以下代码实现了这个问题的求解。
请填写划线部分缺失的代码。
注意:只填写划线部分缺少的内容,不要填写任何多余的符号或注释、说明等。
例如,不要填写已经给出的小括号。
inline max(int a, int b){return a>b?a:b;}int f(char* x, char* y){if(strlen(x)==0) return 0;if(strlen(y)==0) return 0;if(*x == *y) return f(x+1, y+1) + 1;return max( ______________________ );//处理字符串}int main(){printf("%d\n", f("ac","abcd")); //2printf("%d\n", f("acebbcde1133","xya33bc11de")); //5return 0;}f(x+1,y),f(x,y+1)2.历史上有许多计算圆周率pai的公式,其中,格雷戈里和莱布尼茨发现了下面的公式:pai = 4*(1-1/3+1/5-1/7 ....)参见【图1.png】这个公式简单而优美,但美中不足,它收敛的太慢了。
如果我们四舍五入保留它的两位小数,那么:累积了1项和是:4.00累积了2项和是:2.67累积了3项和是:3.47。
2014年第五届蓝桥杯大赛软件类决赛真题(JAVA高职组)
小明和他的表弟一起去看电影,有人问他们的年龄。
小明说:今年是我们的幸运年啊。
我出生年份的四位数字加起来刚好是我的年龄。
表弟的也是如此。
已知今年是2014年,并且,小明说的年龄指的是周岁。
请推断并填写出小明的出生年份。
2、出栈次序(结果填空,35分)X星球特别讲究秩序,所有道路都是单行线。
一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行。
路边有个死胡同,只能容一辆车通过,是临时的检查站,如图【p1.png】所示。
X星球太死板,要求每辆路过的车必须进入检查站,也可能不检查就放行,也可能仔细检查。
如果车辆进入检查站和离开的次序可以任意交错。
那么,该车队再次上路后,可能的次序有多少种?为了方便起见,假设检查站可容纳任意数量的汽车。
显然,如果车队只有1辆车,可能次序1种;2辆车可能次序2种;3辆车可能次序5种。
现在足足有16辆车啊,亲!需要你计算出可能次序的数目。
正整数可以表示为若干正整数的累加和。
如,对于正整数n=6,可以分划为:65+14+24+1+13+33+2+13+1+1+12+2+22+2+1+12+1+1+1+11+1+1+1+1+1现在的问题是,对于给定的正整数n,计算出所有划分情况。
下面的代码实现了这个功能。
仔细分析,填写划线部分缺失的代码。
public class MyTest{ public static List fen(int n, int limit){Vector v = new Vector();if(n<=limit) v.add(n);for(int i=1; i<n; i++){if(n-i > limit) continue;List t = fen(i,n-i);for(int k=0; k<t.size(); k++)__________________________; //填空位置}return v;}public static void main(String[] args){List v = fen(6,6);for(int i=0; i<v.size(); i++)System.out.println(v.get(i));}}X博士正在研究一种生物芯片,其逻辑密集度、容量都远远高于普通的半导体芯片。
2014年第五届蓝桥杯软件类省赛真题_Java高职
例如, 输入:
5 6
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
2 3 L 5
程序应该输出:
1 3
再例如, 输入:
3 3
0 0 0
1 1 1
1 1 1
1 1 U 6
程序应该输出:
0 0
资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 1000ms
注意:主类的名字必须是:Main,否则按无效代码处理。
Java高职
1_题目
标题:猜年龄
小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。”
请你写出:小明的较小的妹妹的年龄。
注意: 只写一个人的年龄数字,请通过浏览器提交答案。不要书写任何多余的内容。
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。
注意:主类的名字必须是:Main,否则按无效代码处理。
Java高职
9_题目
标题:地宫取宝
X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。
以下的代码打印出了大衍数列的前 100 项。
for(int i=1; i<100; i++)
{
if(________________) //填空
2014年蓝桥杯官网试题(Java组)
输入一行,包含一个正整数 n。 输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。 样例输入 52 样例输出 899998 989989 998899 数据规模和约定
1<=n<=54。 基础练习 回文数 时间限制:1.0s 内存限制:512.0一样的,编程求所有这样的四位
入门训练 圆的面积 时间限制:1.0s 内存限制:256.0MB
问题描述 给定圆的半径 r,求圆的面积。 输入格式 输入包含一个整数 r,表示圆的半径。 输出格式 输出一行,包含一个实数,四舍五入保留小数点后 7 位,表示圆的面积。 说明:在本题中,输入是一个整数,但是输出是一个实数。 对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后 7 位, 则你的程序必须严格的输出 7 位小数,输出过多或者过少的小数位数都是不行的,都会被认 为错误。 实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。 样例输入 4 样例输出 50.2654825 数据规模与约定 1 <= r <= 10000。 提示
基础练习 数列排序 时间限制:1.0s 内存限制:512.0MB
问题描述 给定一个长度为 n 的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式 第一行为一个整数 n。 第二行包含 n 个整数,为待排序的数,每个整数的绝对值小于 10000。
输出格式 输出一行,按从小到大的顺序输出排序后的数列。
本题对精度要求较高,请注意π的值应该取较精确的值。你可以使用常量来表示π,比如 PI=3.14159265358979323,也可以使用数学公式来求π,比如 PI=atan(1.0)*4。
入门训练 序列求和 时间限制:1.0s 内存限制:256.0MB
2014年第五届蓝桥杯预赛题目JAVA软件开发本科A组
2014年预赛Java本科A组考生须知:●考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压。
●考试时间为4小时。
时间截止后,选手无法继续提交答案。
●在考试强制结束前,选手可以主动结束考试(需要身份验证),结束考试后将无法继续提交或浏览答案。
●选手可浏览自己已经提交的答案。
被浏览的答案允许拷贝。
●对同一题目,选手可多次提交答案,以最后一次提交的答案为准。
●参赛选手切勿在提交的代码中书写“姓名”、“考号”,“院校名”等与身份有关的信息或其它与竞赛题目无关的内容,否则成绩无效。
●参赛选手必须通过浏览器方式提交自己的答案。
选手在其它位置的作答或其它方式提交的答案无效。
●试题包含三种类型:“结果填空”、“代码填空”与“程序设计”。
结果填空题:要求参赛选手根据题目描述直接填写结果。
求解方式不限。
不要求源代码。
把结果填空的答案直接通过网页提交即可,不要书写多余的内容,比如:注释说明。
代码填空题:要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。
所填写的代码不超过一条语句(即中间不能出现分号)。
把代码填空的答案(仅填空处的答案,不包括题面已存在的代码)直接通过网页提交即可,不要书写多余的内容,比如:注释或说明文字。
程序设计题目:要求选手设计的程序对于给定的输入能给出正确的输出结果。
考生的程序只有能运行出正确结果,才有机会得分。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
所有源码必须在同一文件中。
调试通过后,拷贝提交。
注意:不要使用package语句。
源程序中只能出现JDK1.6中允许的语法或调用。
不能使用1.7或更高版本的特性。
注意:选手代码的主类名必须为:Main,否则会被判为无效代码。
1.结果填空(满分2分)问题的描述在考生文件夹下对应题号的“题目.txt”中。
相关的参考文件在同一目录中。
蓝桥杯java试题及答案
蓝桥杯java试题及答案【篇一:蓝桥杯java历年真题(共129道题目及答案)】这样的,如果给定n个不同字符,将这n个字符全排列,最终的结果将会是n!种。
如:给定a、b、c三个不同的字符,则结果为:abc^ acb、bac、bca、cab> cba—共3!=3*2=6 种情况。
package questiord_9;〃有问题。
-广import java.util.scan ner;import java.util.vector;public class questiord {public static long count=0;private void fullpermutation(vectorcharactersourse, vectorcharacter result) {if(sourse.size()==0){for (int i = 0; i result.size(); i++) {system.out. print(result.elementat(i));}system.out. print(\n);count++;return;}for (int i = 0; i sourse.size(); i++) { vectorcharactertsourse=new vectorcharacter(sourse); vectorcharactertresult=new vectorcharacter( result); tresult.add(sourse.elementat(i)); tsourse.remove(i);new question1().fullpermutation(tsourse, tresult);}}public static void main(stringQ args) { scanner seanner=new scanner(system」n); int n=scanner.nextint();vectorcharacter sourse=new vectorcharacter(); vectorcharacter result=new vectorcharacter();for (int i = 0; i n; i++) {sourse.add((char)(a-i-i));}new questiord().fullpermutation(sourse, result); system.out. pri ntln (questionl.count);}}*/方法二import java.util.arraylist;import java.util.iterator;import java.util」inkedhashset;import java.util.list;import java.util.sca nn er;import java.util.set;public class demo03 {II去掉重复元素,放入lispublic static void removeduplicate(string s,setcharacter lis){ for(char x:s.tochararray()){ lis.add(x);}}II为方便操作将sets转lispublic static void convert(listcharacter lis,setcharactersets){ iteratorcharacter iter = sets.iterator();while(iter.hasnext()){ lis.add(iter.next());II检测符合条件的元素组合public static void check(setcharacter sets){ listcharacter lis = new arraylistcharacter(); convert(lis,sets); II为方便操作将sets 转lis stringbuffer sb = new stringbuffer();for(int i=0;ilis.size()-2;i++){for(int j=i+1 ;j+1 lis.size();j++){// 向后添加两位,所以j+1 lis.size() for(int k=j+1;klis.size();k++){sb.appe nd(lis.get(i)); sb.append(lis.get(j)); sb.append(lis.get(k)); system.out.println(sb); II输出组合sb.setlength(O); II清空}}}}public static void main(string[] args){scanner scan = new scanner(system.in); system.out.println(输入串(不夭于30个李符)。
[蓝桥杯][2014年第五届真题]分糖果
[蓝桥杯][2014年第五届真题]分糖果题⽬描述:问题描述:有n个⼩朋友围坐成⼀圈。
⽼师给每个⼩朋友随机发偶数个糖果,然后进⾏下⾯的游戏:每个⼩朋友都把⾃⼰的糖果分⼀半给左⼿边的孩⼦。
⼀轮分糖后,拥有奇数颗糖的孩⼦由⽼师补给1个糖果,从⽽变成偶数。
反复进⾏这个游戏,直到所有⼩朋友的糖果数都相同为⽌。
你的任务是预测在已知的初始糖果情形下,⽼师⼀共需要补发多少个糖果。
输⼊程序⾸先读⼊⼀个整数N(2< N< 100),表⽰⼩朋友的⼈数。
接着是⼀⾏⽤空格分开的N个偶数(每个偶数不⼤于1000,不⼩于2)输出要求程序输出⼀个整数,表⽰⽼师需要补发的糖果数。
样例输⼊32 2 4样例输出4题意解析:1、偶数个糖:这⾥偶数个糖可分为两部分分别是:I、初始化赋值为偶数II、⽼师额外分配为偶数(num++);2、分糖:将⼀半的糖分给左⼿边的孩⼦:I、简化为直接分给下⼀个⼩孩;II、每个⼩孩的糖数分⼀半给下⼀个并且从上⼀个⼩孩那得到他的⼀半糖;i)是先从别⼈那得到他的⼀半糖后,再将现在的糖数分⼀半给下⼀个⼈,,还是所有⼈先分⼀半糖出来,每个⼈都前⼀个⼈那拿⾛他的⼀半糖?(这两种计算⽅式结果不同,也是本题解题关键;简化后即:先 + 再 / 还是先 / 再 + );3、判断糖数是否相等:I、不相等,跳转到第⼀条第⼆点(1.II),向下执⾏,II、相等,跳出循环,输出num;图解2.II.i:代码实现:#include <stdio.h>#define N 100void main() {int i, n, num = 0, a[N], t;scanf("%d", &n);for (i = 0; i < n; i++) {//scanf("%d", &a[i]);}for (;;) {for (i = 1; i < n; i++) {//i从1开始,表⽰a[0]直接判断与a[1]是否相等,跳过a[0]与a[0]⽐较;if (a[0] != a[i]) {break;//如果第⼀个⼩孩糖的数量与其他⼩孩糖的数量不相等,跳出for循环,往下执⾏}//如果没有进⼊if判断语句,说明所有⼩孩糖数相等,for循环从1执⾏到n-1;}if (i == n) {//接上for循环,当for循环执⾏完了以后,进⾏的操作是i++,此时i = n;所以可以拿来作为结束外循环条件;break;//跳出外层循环}for (i = 0; i < n; i++) {//判断是否有奇数个糖,奇数+1,偶数不变;if (a[i] % 2 == 1) {a[i]++;num++;}}t = a[n - 1];//下⾯分糖实按从后向前遍历,因此最后⼀个⼩孩的糖数在最开始就会改变,⽆法给第⼀个⼩孩赋值,因此需要保存下来; for (i = n - 1; i > 0; i--) {//,分糖(除以2)、得糖(+前⼀个⼈的1/2);a[i] = a[i] / 2 + a[i - 1] / 2;}a[0] = a[0] / 2 + t / 2;//给第⼀个同学实现分糖、得糖;}printf("%d", num);}其中,在分糖和得糖那步可以实现⼩的优化:前⾯代码不变,在判断奇偶时让所有同学的糖数⼀分为⼆;for ( i = 0; i < n; i++){if (a[i]%2==1){a[i]++;sum++;}a[i] /= 2;}temp = a[n - 1];for ( i = n-1; i >0; i--){//a[i] = a[i] / 2 + a[i - 1] / 2; a[i] += a[i - 1];}//a[0] = a[0] / 2 + temp / 2; a[0] += temp;}。
第五届蓝桥杯预赛题目及答案
2014年第五届蓝桥杯预赛题目第一题标题:啤酒和饮料啤酒每罐2.3元,饮料每罐1.9元。
小明买了若干啤酒和饮料,一共花了82.3元。
我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。
注意:答案是一个整数。
请通过浏览器提交答案。
不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。
#include <cstdio>using namespace std;int main(){for(int i = 1; i * 2.3 <= 82.3; i++)for(int j = i + 1; i * 2.3 + j * 1.9 <= 82.3; j++){if(i * 2.3 + j * 1.9 >= 82.3 - 0.000001 && i * 2.3 + j * 1.9 <= 82.3 + 0.000001) printf("%d %d\n", i, j);}return 0;}第二题标题:切面条一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。
不要填写任何多余的内容。
F(n)=2f(n-1)-12#include <cstdio>using namespace std;int main(){int num = 2;for(int i = 1; i <= 10; i++){num = num * 2 - 1;printf("%d: %d\n", i, num);}return 0;}标题:蚂蚁感冒长100厘米的细长直杆子上有n只蚂蚁。
它们的头有的朝左,有的朝右。
每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2014年预赛Java高职高专组考生须知:●考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压。
●考试时间为4小时。
时间截止后,选手无法继续提交答案。
●在考试强制结束前,选手可以主动结束考试(需要身份验证),结束考试后将无法继续提交或浏览答案。
●选手可浏览自己已经提交的答案。
被浏览的答案允许拷贝。
●对同一题目,选手可多次提交答案,以最后一次提交的答案为准。
●参赛选手切勿在提交的代码中书写“姓名”、“考号”,“院校名”等与身份有关的信息或其它与竞赛题目无关的内容,否则成绩无效。
●参赛选手必须通过浏览器方式提交自己的答案。
选手在其它位置的作答或其它方式提交的答案无效。
●试题包含三种类型:“结果填空”、“代码填空”与“程序设计”。
结果填空题:要求参赛选手根据题目描述直接填写结果。
求解方式不限。
不要求源代码。
把结果填空的答案直接通过网页提交即可,不要书写多余的内容,比如:注释说明。
代码填空题:要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。
所填写的代码不超过一条语句(即中间不能出现分号)。
把代码填空的答案(仅填空处的答案,不包括题面已存在的代码)直接通过网页提交即可,不要书写多余的内容,比如:注释或说明文字。
程序设计题目:要求选手设计的程序对于给定的输入能给出正确的输出结果。
考生的程序只有能运行出正确结果,才有机会得分。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
所有源码必须在同一文件中。
调试通过后,拷贝提交。
注意:不要使用package语句。
源程序中只能出现JDK1.6中允许的语法或调用。
不能使用1.7或更高版本的特性。
注意:选手代码的主类名必须为:Main,否则会被判为无效代码。
1.结果填空(满分2分)问题的描述在考生文件夹下对应题号的“题目.txt”中。
相关的参考文件在同一目录中。
请仔细阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。
只提交题目要求的内容,不要填写任何多余的文字!!2.结果填空(满分4分)问题的描述在考生文件夹下对应题号的“题目.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。
3.结果填空(满分7分)问题的描述在考生文件夹下对应题号的“题目.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。
4.代码填空(满分4分)问题的描述在考生文件夹下对应题号的“题目描述.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,不限解决问题的方式。
只要求填写缺失的代码部分,千万不要画蛇添足,填写多余的已有代码或符号。
必须通过浏览器提交答案。
5.代码填空(满分7分)问题的描述在考生文件夹下对应题号的“题目描述.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,不限解决问题的方式。
只要求填写缺失的代码部分,千万不要画蛇添足,填写多余的已有代码或符号。
必须通过浏览器提交答案。
6.结果填空(满分10分)问题的描述在考生文件夹下对应题号的“题目.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。
7.结果填空(满分13分)问题的描述在考生文件夹下对应题号的“题目.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,不限解决问题的方式,只要求提交结果。
必须通过浏览器提交答案。
8.程序设计(满分10分)问题的描述在考生文件夹下对应题号的“题目.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,必须通过编程的方式解决问题。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容。
建议仔细阅读示例,不要想当然!所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
不要使用package语句。
注意:选手代码的主类名必须为:Main,否则会被判为无效代码。
9.程序设计(满分18分)问题的描述在考生文件夹下对应题号的“题目.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,必须通过编程的方式解决问题。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容。
建议仔细阅读示例,不要想当然!所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
不要使用package语句。
注意:选手代码的主类名必须为:Main,否则会被判为无效代码。
10.程序设计(满分25分)问题的描述在考生文件夹下对应题号的“题目.txt”中。
相关的参考文件在同一目录中。
请先阅读题目,必须通过编程的方式解决问题。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容。
建议仔细阅读示例,不要想当然!所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
不要使用package语句。
注意:选手代码的主类名必须为:Main,否则会被判为无效代码。
标题:猜年龄小明带两个妹妹参加元宵灯会。
别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。
小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。
”请你写出:小明的较小的妹妹的年龄。
注意:只写一个人的年龄数字,请通过浏览器提交答案。
不要书写任何多余的内容。
标题:等额本金小明从银行贷款3万元。
约定分24个月,以等额本金方式还款。
这种还款方式就是把贷款额度等分到24个月。
每个月除了要还固定的本金外,还要还贷款余额在一个月中产生的利息。
假设月利率是:0.005,即:千分之五。
那么,第一个月,小明要还本金 1250, 还要还利息:30000 * 0.005,总计 1400第二个月,本金仍然要还 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 项。
for(int i=1; i<100; i++){if(________________) //填空System.out.println(i*i/2);elseSystem.out.println((i*i-1)/2);}请填写划线部分缺失的代码。
通过浏览器提交答案。
注意:不要填写题面已有的内容,也不要填写任何说明、解释文字。
标题:写日志写日志是程序的常见任务。
现在要求在 t1.log, t2.log, t3.log 三个文件间轮流写入日志。
也就是说第一次写入t1.log,第二次写入t2.log,... 第四次仍然写入t1.log,如此反复。
下面的代码模拟了这种轮流写入不同日志文件的逻辑。
public class A{private static int n = 1;public static void write(String msg){String filename = "t" + n + ".log";n = ____________;System.out.println("write to file: " + filename + " " + msg);}}请填写划线部分缺失的代码。
通过浏览器提交答案。
注意:不要填写题面已有的内容,也不要填写任何说明、解释文字。
标题:李白打酒话说大诗人李白,一生好饮。
幸好他从不开车。
一天,他提着酒壶,从家里出来,酒壶中有酒2斗。
他边走边唱:无事街上走,提壶去打酒。
逢店加一倍,遇花喝一斗。
这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。
请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。
则:babaabbabbabbbb 就是合理的次序。
像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。
注意:通过浏览器提交答案。
答案是个整数。
不要书写任何多余的内容。
标题:奇怪的分式上小学的时候,小明经常自己发明新算法。
一次,老师出的题目是:1/4 乘以 8/5小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢?请写出所有不同算式的个数(包括题中举例的)。
显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。
但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不在计数之列!注意:答案是个整数(考虑对称性,肯定是偶数)。
请通过浏览器提交。
不要书写多余的内容。