2014年第五届蓝桥杯预赛题目JAVA软件开发本科B组

2014年第五届蓝桥杯预赛题目JAVA软件开发本科B组
2014年第五届蓝桥杯预赛题目JAVA软件开发本科B组

2014年预赛Java本科B组

考生须知:

●考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压。

●考试时间为4小时。时间截止后,选手无法继续提交答案。

●在考试强制结束前,选手可以主动结束考试(需要身份验证),结束考试后将无法继续提交或浏览答案。

●选手可浏览自己已经提交的答案。被浏览的答案允许拷贝。

●对同一题目,选手可多次提交答案,以最后一次提交的答案为准。

●参赛选手切勿在提交的代码中书写“姓名”、“考号”,“院校名”等与身份有关的信息或其它与竞赛题目无关的内容,否则成绩无效。

●参赛选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它方式提交的答案无效。

●试题包含三种类型:“结果填空”、“代码填空”与“程序设计”。

结果填空题:要求参赛选手根据题目描述直接填写结果。求解方式不限。不要求源代码。把结果填空的答案直接通过网页提交即可,不要书写多余的内容,比如:注释说明。

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

把代码填空的答案(仅填空处的答案,不包括题面已存在的代码)直接通过网页提交即可,不要书写多余的内容,比如:注释或说明文字。

程序设计题目:要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果,才有机会得分。

注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。

所有源码必须在同一文件中。调试通过后,拷贝提交。

注意:不要使用package语句。源程序中只能出现JDK1.6中允许的语法或调用。不能使用1.7或更高版本的特性。

注意:选手代码的主类名必须为:Main,否则会被判为无效代码。

1.结果填空(满分2分)

问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。请仔细阅读题目,不限解决问题的方式,只要求提交结果。

必须通过浏览器提交答案。

只提交题目要求的内容,不要填写任何多余的文字!!

2.结果填空(满分5分)

问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式,只要求提交结果。

必须通过浏览器提交答案。

3.结果填空(满分6分)

问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式,只要求提交结果。

必须通过浏览器提交答案。

4.代码填空(满分4分)

问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式。

只要求填写缺失的代码部分,千万不要画蛇添足,填写多余的已有代码或符号。

必须通过浏览器提交答案。

5.代码填空(满分9分)

问题的描述在考生文件夹下对应题号的“题目描述.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式。

只要求填写缺失的代码部分,千万不要画蛇添足,填写多余的已有代码或符号。

必须通过浏览器提交答案。

6.结果填空(满分11分)

问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式,只要求提交结果。

必须通过浏览器提交答案。

7.结果填空(满分15分)

问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式,只要求提交结果。

必须通过浏览器提交答案。

8.程序设计(满分7分)

问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。请先阅读题目,必须通过编程的方式解决问题。

注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。

仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容。

建议仔细阅读示例,不要想当然!

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

不要使用package语句。

注意:选手代码的主类名必须为:Main,否则会被判为无效代码。

9.程序设计(满分18分)

问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。请先阅读题目,必须通过编程的方式解决问题。

注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。

仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容。

建议仔细阅读示例,不要想当然!

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

不要使用package语句。

注意:选手代码的主类名必须为:Main,否则会被判为无效代码。

10.程序设计(满分23分)

问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。请先阅读题目,必须通过编程的方式解决问题。

注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。

仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容。

建议仔细阅读示例,不要想当然!

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

不要使用package语句。

注意:选手代码的主类名必须为:Main,否则会被判为无效代码。

标题:武功秘籍

小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的)。他注意到:书的

第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上。

小明只想练习该书的第81页到第92页的武功,又不想带着整本书。请问他至少要撕下多少张纸带走?

这是个整数,请通过浏览器提交该数字,不要填写任何多余的内容。

标题:切面条

一根高筋拉面,中间切一刀,可以得到2根面条。

如果先对折1次,中间切一刀,可以得到3根面条。

如果连续对折2次,中间切一刀,可以得到5根面条。

那么,连续对折10次,中间切一刀,会得到多少面条呢?

答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。

标题:猜字母

把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);

else

System.out.println((i*i-1)/2);

}

请填写划线部分缺失的代码。通过浏览器提交答案。

注意:不要填写题面已有的内容,也不要填写任何说明、解释文字。

标题:圆周率

数学发展历史上,圆周率的计算曾有许多有趣甚至是传奇的故事。其中许多方法都涉及无穷级数。

图1.png中所示,就是一种用连分数的形式表示的圆周率求法。

下面的程序实现了该求解方法。实际上数列的收敛对x的初始值并不敏感。

结果打印出圆周率近似值(保留小数点后4位,并不一定与圆周率真值吻合)。

double x = 111;

for(int n = 10000; n>=0; n--){

int i = 2 * n + 1;

x = 2 + (i*i / x);

}

System.out.println(String.format("%.4f", ______________));

标题:奇怪的分式

上小学的时候,小明经常自己发明新算法。一次,老师出的题目是:

1/4 乘以 8/5

小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!

对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢?

请写出所有不同算式的个数(包括题中举例的)。

显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。

但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不在计数之列!

注意:答案是个整数(考虑对称性,肯定是偶数)。请通过浏览器提交。不要书写多余的内容。

标题:扑克序列

A A 2 2 3 3 4 4,一共4对扑克牌。请你把它们排成一行。

要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌。

请填写出所有符合要求的排列中,字典序最小的那个。

例如:22AA3344 比 A2A23344 字典序小。当然,它们都不是满足要求的答案。

请通过浏览器提交答案。“A”一定不要用小写字母a,也不要用“1”代替。字符间一定不要留空格。

蓝桥杯java练习题分类汇总

蓝桥杯java练习题分类汇总 (一)字符串处理类型题目 1.密码破解 据说最早的密码来自于罗马的凯撒大帝。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A都分别替换成字母F)。而你要获得消息原文,也就是要将这个过程反过来。 密码字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z M 原文字母:V W X Y Z A B C D E F G H I J K L M N O P Q R S T U (注意:只有字母会发生替换,其他非字母的字符不变,并且消息原文的所有字母都是大写的。) 输入:最多不超过100个数据集组成,每个数据集之间不会有空行,每个数据集由3部分组成: 1.起始行:START 2.密码消息:由1到200个字符组成一行,表示凯撒发出的一条消息. 3.结束行:END 在最后一个数据集之后,是另一行:ENDOFINPUT。 输出: 每个数据集对应一行,是凯撒的原始消息。 ?Sample Input START NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX END START N BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJ END START IFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ END ENDOFINPUT ?Sample Output IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES I WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROME DANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE 2. 判断是否为回文串 形如:“abccba”,“abcba”的串称为回文串(指顺读和倒读都一样的词

蓝桥杯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); } } }

蓝桥杯2016年JavaB组省赛题

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

这个算式一共有多少种解法? 注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。 5.抽签 (代码填空) X星球要派出一个5人组成的观察团前往W星。 其中: A国最多可以派出4人。 B国最多可以派出2人。 C国最多可以派出2人。 .... 那么最终派往W星的观察团会有多少种国别的不同组合呢? 下面的程序解决了这个问题。 数组a[] 中既是每个国家可以派出的最多的名额。 程序执行结果为: DEFFF CEFFF CDFFF CDEFF CCFFF CCEFF CCDFF CCDEF BEFFF BDFFF BDEFF BCFFF BCEFF BCDFF BCDEF

2016年度蓝桥杯java高职C组

2016年蓝桥杯Java C组考试题(考试日期2016/3/20日)第一题: 有奖猜谜 小明很喜欢猜谜语。 最近,他被邀请参加了X星球的猜谜活动。 每位选手开始的时候都被发给777个电子币。 规则是:猜对了,手里的电子币数目翻倍, 猜错了,扣除555个电子币, 扣完为止。 小明一共猜了15条谜语。 战果为:vxvxvxvxvxvxvvx 其中v表示猜对了,x表示猜错了。 请你计算一下,小明最后手里的电子币数目是多少。 请填写表示最后电子币数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 public static void main(String[] args) { int n=777; for(int i=1;i<=12;i++) { if(i%2!=0) { n=n*2; } else n=n-555; } n=n*2; n=n*2; n=n-555; System.out.println(n); } 答案:58497

第二题: 煤球数目 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 public static void main(String[] args) { int sum[]=new int[101]; int sum1=0; int s=0; for(int i=1;i<=100;i++) { sum1=sum1+i; sum[i]=sum1; s=s+sum[i]; } System.out.println(s); } 答案:171700 第三题: 平方怪圈 如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。 对新产生的正整数再做同样的处理。 如此一来,你会发现,不管开始取的是什么数字, 最终如果不是落入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;

蓝桥杯Java试题

1. 历届试题核桃的数量 问题描述 小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是: 1. 各组的核桃数量必须相同 2. 各组内必须能平分核桃(当然是不能打碎的) 3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入格式 输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30) 输出格式 输出一个正整数,表示每袋核桃的数量。 样例输入1 2 4 5 样例输出1 20

样例输入2 3 1 1 样例输出2 3 JAVA 源代码 1import java.util.Scanner; 2public class Main { 3 4public 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) 12 13break; 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+1 FJ想让奶牛们计算Sn的值,请你帮助FJ打印出Sn的完整表达式,以方便奶牛们做题。 输入格式 仅有一个数:N<201。 输出格式 请输出相应的表达式Sn,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。 样例输入 3 样例输出 ((sin(1)+3)sin(1–sin(2))+2)sin(1–sin(2+sin( 3)))+1 语言JAVA 源代码17import java.util.Scanner; 18public class Main { 19private static int m; 20public static void main(String[] args){ 21 Scanner sc=new Scanner(System.in); 22 m=sc.nextInt(); 23for(int i=0;i

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/fb11667239.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/fb11667239.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;

蓝桥杯试题C语言答案

1、A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些 人参加了竞赛: (1)A参加时,B也参加; (2)B和C只有一个人参加; (3)C和D或者都参加,或者都不参加; (4)D和E中至少有一个人参加; (5)如果E参加,那么A和D也都参加。 00110 c、d #include<> int main() { int a,b,c,d,e; /*0表示不参加, 1表示参加.*/ for(a=0;a<2;a++) for(b=0;b<2;b++) for(c=0;c<2;c++) for(d=0;d<2;d++) for(e=0;e<2;e++) { if(a&&!b) continue; if(b&&c||!b&&!c) continue; if(c&&!d||!c&&d) continue; if(!d&&!e) continue; if(e&&(!a||!d)) continue; printf("%d%d%d%d%d",a,b,c,d,e); } return 0; } 2、某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件: 1)A和B两人中至少去一人; 2)A和D不能一起去; 3)A、E和F三人中要派两人去; 4)B和C都去或都不去; 5)C和D两人中去一个; 6)若D不去,则E也不去。 试编写一个程序,输出问应当让哪几个人去? #include<> int main() { int a,b,c,d,e,f; for(a=1;a>=0;a--) for(b=1;b>=0;b--)/*1:去 0:不去*/ for(c=1;c>=0;c--)

蓝桥杯练习系统题目汇总

蓝桥杯练习系统题目汇总: 入门训练 1. Fibonacci数列 问题描述 Fibonacci数列的递推公式为:F n=F n-1+F n-2,其中F1=F2=1。 当n比较大时,F n也非常大,现在我们想知道,F n除以10007的余数是多少。 输入格式 输入包含一个整数n。 输出格式 输出一行,包含一个整数,表示F n除以10007的余数。 说明:在本题中,答案是要求F n除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出F n的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。 样例输入 10 样例输出 55 样例输入 22 样例输出 7704 数据规模与约定 1 <= n <= 1,000,000。 参考代码:c++ 1.#include 2.#include 3.#define MOD 10007 4.#define MAXN 1000001 5.int n, i, F[MAXN]; 6.int main() 7.{ 8.scanf("%d", &n); 9.F[1] = 1; 10.F[2] = 1; 11.for(i = 3; i <= n; ++i) 12.F[i] = (F[i-1] + F[i-2]) % MOD; 13.printf("%d\n", F[n]); 14.return0; 15.}

java: 1.import java.util.Scanner; 2.public class Main{ 3.public static void main(String[] args) { 4.Scanner scanner = new Scanner(System.in) ; 5.int num = scanner.nextInt() ; 6.int[] a = new int[num+2] ; 7.a[1] = a[2] = 1; 8.if(num == 1) { 9.a[num] = 1 ; 10.}else if(num == 2) { 11.a[num] = 1 ; 12.}else{ 13.for(int i = 3; i <= num; i++) { 14.a[i] = (a[i - 1] + a[i - 2] ) % 10007 ; 15.} 16.} 17.System.out.println(a[num]); 18.} 19.} 2. 实数输出 问题描述 给定圆的半径r,求圆的面积。 输入格式 输入包含一个整数r,表示圆的半径。 输出格式 输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。 说明:在本题中,输入是一个整数,但是输出是一个实数。 对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。 实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。 样例输入 4 样例输出 50.2654825 数据规模与约定

蓝桥杯第一届初赛题目

第一届蓝桥杯预赛试题 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元的硬币,

蓝桥杯java高职C组

蓝桥杯j a v a高职C组文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

2016年蓝桥杯Java C组考试题(考试日期2016/3/20日)第一题: 有奖猜谜 小明很喜欢猜谜语。 最近,他被邀请参加了X星球的猜谜活动。 每位选手开始的时候都被发给777个电子币。 规则是:猜对了,手里的电子币数目翻倍, 猜错了,扣除555个电子币, 扣完为止。 小明一共猜了15条谜语。 战果为:vxvxvxvxvxvxvvx 其中v表示猜对了,x表示猜错了。 请你计算一下,小明最后手里的电子币数目是多少。 请填写表示最后电子币数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 public static void main(String[] args) { int n=777; for(int i=1;i<=12;i++) { if(i%2!=0) { n=n*2;

} else n=n-555; } n=n*2; n=n*2; n=n-555; System.out.println(n); } 答案:58497 第二题: 煤球数目 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

public static void main(String[] args) { int sum[]=new int[101]; int sum1=0; int s=0; for(int i=1;i<=100;i++) { sum1=sum1+i; sum[i]=sum1; s=s+sum[i]; } System.out.println(s); } 答案:171700 第三题: 平方怪圈 如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。对新产生的正整数再做同样的处理。 如此一来,你会发现,不管开始取的是什么数字, 最终如果不是落入1,就是落入同一个循环圈。 请写出这个循环圈中最大的那个数字。 请填写该最大数字。

蓝桥杯算法训练习题与官方答案

算法训练 编号:ALGO-1 题目:区间k大数查询列 关键字:排序查找 类型:普通试题 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。 输入格式 第一行包含一个数n,表示序列长度。 第二行包含n个正整数,表示给定的序列。 第三个包含一个正整数m,表示询问个数。 接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。 输出格式 总共输出m行,每行一个数,表示询问的答案。 样例输入 5 1 2 3 4 5 2 1 5 2 2 3 2 样例输出 4 2 数据规模与约定 对于30%的数据,n,m<=100; 对于100%的数据,n,m<=1000; 保证k<=(r-l+1),序列中的数<=1000000。 本题的Java参考代码如下: import java.io.BufferedInputStream; import java.io.IOException; import java.util.Arrays;

public class Main { private static BufferedInputStream in = new BufferedInputStream(System.in); public static void main(String[] args) throws IOException { int[] nums = new int[readInt()]; for(int i=0; i0; i--) { int a = readInt(); int b = readInt(); int c = readInt(); int[] tn = new int[b-a+1]; for(int j=0; j57); for(;(i&56) == 48 || (i&62) == 56; i=in.read()) sum = sum*10 + (i&15); return sum; } }

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

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);

第七届蓝桥杯Java B组省赛答案

package com.diqijie.shengsai; /** * @author leibaobao * 煤球数目 * 解:100层为1+2+3....+100 = 5050 */ publicclass _1 { publicstaticvoid main(String[] args) { // TODO Auto-generated method stub int sum = 0; for(int i = 1; i <= 100; i++){ for(int j = 1; j <= i; j++) sum += j; } System.out.println(sum); } }

package com.diqijie.shengsai; /** * @author leibaobao * 生日蜡烛 * 解:人最大也不过100岁,不要想太多。暴力一点 */ publicclass _2 { publicstaticvoid main(String[] args) { // TODO Auto-generated method stub int sum = 0; for(int i = 0; i < 100; i++){ for(int j = i; j < 100; j++){ sum += j; if(sum == 236) System.out.println(i); } sum = 0; } }

}

package com.diqijie.shengsai; import java.util.HashSet; /** * @author leibaobao * 凑算式 * 解:前几题不要多想,暴力一点。但是Java能不用大数不要去用大数 * 麻烦,慢。这题通分加for循环不就OK了吗 */ publicclass _3 { publicstaticvoid main(String[] args) { // TODO Auto-generated method stub int count = 0; for(int a = 1; a < 10; a++) for(int b = 1; b < 10; b++) for(int c = 1; c < 10; c++) for(int d = 1; d < 10; d++) for(int e = 1; e < 10; e++)

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

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、马虎的算式:小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。

蓝桥杯比赛要求

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

第六届蓝桥杯软件类省赛真题(Java B组)

第六届蓝桥杯软件类省赛真题(Java B组)1、三角形面积 如图1所示。图中的所有小方格面积都是1。 那么,图中的三角形面积应该是多少呢? 请填写三角形的面积。不要填写任何多余内容或说明性文字。 2、立方变自身 观察下面的现象,某个数字的立方,按位累加仍然等于自身。 1^3 = 1 8^3 = 512 5+1+2=8 17^3 = 4913 4+9+1+3=17 ... 请你计算包括1,8,17在内,符合这个性质的正整数一共有多少个? 请填写该数字,不要填写任何多余的内容或说明性的文字。 3、三羊献瑞 观察下面的加法算式: 祥瑞生辉 + 三羊献瑞 ------------------- 三羊生瑞气 (如果有对齐问题,可以参看【图1.jpg】) 其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。 请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。 4、循环节长度 两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。 比如,11/13=6=>0.6153..... 其循环节为[846153] 共有6位。 下面的方法,可以求出循环节的长度。 请仔细阅读代码,并填写划线部分缺少的代码。 public static int f(int n, int m) { n = n % m; Vector v = new Vector(); for(;;) { v.add(n); n *= 10; n = n % m; if(n==0) return 0; if(v.indexOf(n)>=0) _________________________________ ; //填空} } 注意,只能填写缺少的部分,不要重复抄写已有代码。不要填写任何多余的文字。 5、九数组分数 1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?

蓝桥杯模拟试题java本科组试题及复习资料

2011 模拟java 本科 注意: 本套模拟题主要模拟命题形式与考核范围。真实竞赛题的数量、难度可能与此套模拟题有差异。 说明: 本试卷包含两种题型:“代码填空”与“程序设计”。 填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不多于一条语句(即不能出现分号)。 编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。 1.代码填空(满分2分) 在A B C D E F 六人中随机抽取3人中奖,要求中奖人不能重复。请完善以下代码: public class MyTest { public static void main(String[] args) { Vector a = new Vector();

for(char i='A'; i<='F'; i++) a.add("" + i); for(int k=0; k<3; k++) { int d = ____________________________; System.out.println(a.remove(d)); } } } new Random().nextInt(6-k) //(int)(Math.random()*(6-k)) 2.代码填空(满分3分) 不同进制的数值间的转换是软件开发中很可能会遇到的常规问题。下面的代码演示了如何把键盘输入的3进制数字转换为十进制。试完善之。 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = br.readLine(); int n = 0; for(int i=0; i '2') throw new

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

第七届省赛 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<

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) {

相关文档
最新文档