2012年 蓝桥杯预赛 java 本科 题目

时间:2021-11-22 12:12:10

2012年 蓝桥杯预赛 java 本科

考生须知:

l  考试时间为4小时。

l  参赛选手切勿修改机器自动生成的【考生文件夹】的名称或删除任何自动生成的文件或目录,否则会干扰考试系统正确采集您的解答。

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

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

结果填空:3+5+4+9 = 21分

代码填空:5+6+8 = 19 分

程序设计:11+21+28 = 60分

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

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

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

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

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

对每个编程题目,要求考生把所有类写在一个文件中。调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可,相关的工程文件不要拷入。请不要使用package语句。

源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。

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

题目在【考生文件夹】下对应题号的“题目.rar”中,请先解压该文件。

解压密码以考场公布为准。

把答案存入【考生文件夹】下对应题号的“解答.txt”中即可。直接写在题面中不能得分。如果有多个答案,每个答案占一行。

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

题目在【考生文件夹】下对应题号的“题目.rar”中,请先解压该文件。

解压密码以考场公布为准。

把答案存入【考生文件夹】下对应题号的“解答.txt”中即可。直接写在题面中不能得分。如果有多个答案,每个答案占一行。

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

题目在【考生文件夹】下对应题号的“题目.rar”中,请先解压该文件。

解压密码以考场公布为准。

把答案存入【考生文件夹】下对应题号的“解答.txt”中即可。直接写在题面中不能得分。如果有多个答案,每个答案占一行。

4.结果填空 (满分9分)

题目在【考生文件夹】下对应题号的“题目.rar”中,请先解压该文件。

解压密码以考场公布为准。

把答案存入【考生文件夹】下对应题号的“解答.txt”中即可。直接写在题面中不能得分。如果有多个答案,每个答案占一行。

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

题目在【考生文件夹】下对应题号的“题目.rar”中,请先解压该文件。

解压密码以考场公布为准。

仔细阅读和调试题目提供的源代码,根据要求填写缺失的代码部分。

注意:请把填空的答案(仅填空处的答案,不包括题面)存入【考生文件夹】下对应题号的“解答.txt”中即可。直接写在题面中不能得分。

填空内容不能超过一条语句(即中间不会含有分号)。

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

题目在【考生文件夹】下对应题号的“题目.rar”中,请先解压该文件。

解压密码以考场公布为准。

仔细阅读和调试题目提供的源代码,根据要求填写缺失的代码部分。

注意:请把填空的答案(仅填空处的答案,不包括题面)存入【考生文件夹】下对应题号的“解答.txt”中即可。直接写在题面中不能得分。

填空内容不能超过一条语句(即中间不会含有分号)。

7.代码填空 (满分8分)

题目在【考生文件夹】下对应题号的“题目.rar”中,请先解压该文件。

解压密码以考场公布为准。

仔细阅读和调试题目提供的源代码,根据要求填写缺失的代码部分。

注意:请把填空的答案(仅填空处的答案,不包括题面)存入【考生文件夹】下对应题号的“解答.txt”中即可。直接写在题面中不能得分。

填空内容不能超过一条语句(即中间不会含有分号)。

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

题目在考生文件夹下对应题号的“题目.rar”中,请先解压该文件。

解压密码以考场公布为准。

仔细阅读题目要求,根据题意编写调试代码。

要求考生把所有类写在一个文件中。调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。相关的工程文件不要拷入。请不要使用package语句。

另外,源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。

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

题目在考生文件夹下对应题号的“题目.rar”中,请先解压该文件。

解压密码以考场公布为准。

仔细阅读题目要求,根据题意编写调试代码。

要求考生把所有类写在一个文件中。调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。相关的工程文件不要拷入。请不要使用package语句。

另外,源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。

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

题目在考生文件夹下对应题号的“题目.rar”中,请先解压该文件。

解压密码以考场公布为准。

仔细阅读题目要求,根据题意编写调试代码。

要求考生把所有类写在一个文件中。调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。相关的工程文件不要拷入。请不要使用package语句。

另外,源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。

1.

黄金分割数0.618与美学有重要的关系。舞台上报幕员所站的位置大约就是舞台宽度的0.618处,墙上的画像一般也挂在房间高度的0.618处,甚至股票的波动据说也能找到0.618的影子....

黄金分割数是个无理数,也就是无法表示为两个整数的比值。0.618只是它的近似值,其真值可以通过对5开方减去1再除以2来获得,我们取它的一个较精确的近似值:0.618034

有趣的是,一些简单的数列中也会包含这个无理数,这很令数学家震惊!

1 3 4 7 11 18 29 47 .... 称为“鲁卡斯队列”。它后面的每一个项都是前边两项的和。

如果观察前后两项的比值,即:1/3,3/4,4/7,7/11,11/18 ... 会发现它越来越接近于黄金分割数!

你的任务就是计算出从哪一项开始,这个比值四舍五入后已经达到了与0.618034一致的精度。

请写出该比值。格式是:分子/分母。比如:29/47

答案写在“解答.txt”中,不要写在这里!

2.
    有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。

等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒,喝酒别开船......”

请你根据这些信息,推断开始有多少人,每一轮喝下来还剩多少人。

如果有多个可能的答案,请列出所有答案,每个答案占一行。

格式是:人数,人数,...

例如,有一种可能是:20,5,4,2,0

答案写在“解答.txt”中,不要写在这里!

3.
    汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。
    大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上(可以借助第三根柱子做缓冲)。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。

如图【1.jpg】是现代“山寨”版的该玩具。64个圆盘太多了,所以减为7个,金刚石和黄金都以木头代替了......但道理是相同的。

2012年 蓝桥杯预赛 java 本科 题目

据说完成大梵天的命令需要太多的移动次数,以至被认为完成之时就是世界末日!

你的任务是精确计算出到底需要移动多少次。

很明显,如果只有2个圆盘,需要移动3次。

圆盘数为3,则需要移动7次。

那么64个呢?
   
    答案写在“解答.txt”中,不要写在这里!

4.
    某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪:

每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。

每位选手都有一个起步的分数为10分。

某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗?

如果把答对的记为1,答错的记为0,则10个题目的回答情况可以用仅含有1和0的串来表示。例如:0010110011 就是可能的情况。

你的任务是算出所有可能情况。每个答案占一行。

答案写在“解答.txt”中,不要写在这里!

5.

以下的静态方法实现了:把串s中第一个出现的数字的值返回。
如果找不到数字,返回-1

例如:
s = "abc24us43"  则返回2
s = "82445adb5"  则返回8
s = "ab"   则返回-1

public static int getFirstNum(String s)
{
 if(s==null || s.length()==0) return -1;
 
 char c = s.charAt(0);
 if(c>='0' && c<='9') return _____________;  //填空
 
 return ___________________;  //填空
}

请分析代码逻辑,并推测划线处的代码。

答案写在 “解答.txt” 文件中

注意:只写划线处应该填的内容,划线前后的内容不要抄写。

6.

南北朝时,我国数学家祖冲之首先把圆周率值计算到小数点后六位,比欧洲早了1100年!他采用的是称为“割圆法”的算法,实际上已经蕴含着现代微积分的思想。

如图【1.jpg】所示,圆的内接正六边形周长与圆的周长近似。多边形的边越多,接近的越好!我们从正六边形开始割圆吧。

2012年 蓝桥杯预赛 java 本科 题目

如图【2.jpg】所示,从圆心做弦的垂线,可把6边形分割为12边形。该12边形的边长a'的计算方法很容易利用勾股定理给出。之后,再分割为正24边形,....如此循环会越来越接近圆周。

之所以从正六边开始,是因为此时边长与半径相等,便于计算。取半径值为1,开始割圆吧!

2012年 蓝桥杯预赛 java 本科 题目

以下代码描述了割圆过程。
   
    程序先输出了标准圆周率值,紧接着输出了不断分割过程中多边形边数和所对应的圆周率逼近值。

public class B21
{
 public static void main(String[] args)
 {
  System.out.println("标准 " + Math.PI);
  
  double a = 1;
  int n = 6;
  
  for(int i=0; i<10; i++)
  {
   double b = Math.sqrt(1-(a/2)*(a/2));
   a = Math.sqrt((1-b)*(1-b) + (a/2)*(a/2));
   
   n = ______________; //填空
   
   System.out.println(n + "  " + _______________);  // 填空
  }
 }
}

请分析代码逻辑,并推测划线处的代码。

答案写在 “解答.txt” 文件中

注意:只写划线处应该填的内容,划线前后的内容不要抄写。

7.
    [12,127,85,66,27,34,15,344,156,344,29,47,....]

这是某设备测量到的工程数据。

因工程要求,需要找出最大的5个值。

一般的想法是对它排序,输出前5个。但当数据较多时,这样做很浪费时间。因为对输出数据以外的数据进行排序并非工程要求,即便是要输出的5个数字,也并不要求按大小顺序,只要找到5个就可以。

以下的代码采用了另外的思路。考虑如果手里已经抓着5个最大数,再来一个数据怎么办呢?让它和手里的数据比,如果比哪个大,就抢占它的座位,让那个被挤出来的再自己找位子,....

import java.util.*;
public class B23
{
 public static List<Integer> max5(List<Integer> lst)
 {
  if(lst.size()<=5) return lst;
  
  int a = _______________________;  // 填空
  List<Integer> b = max5(lst);
  
  for(int i=0; i<b.size(); i++)
  {
   int t = b.get(i);
   if(a>t)
   {
    __________________;  // 填空
    a = t; 
   }
  }
  
  return b;
 }
 
 public static void main(String[] args)
 {
  List<Integer> lst = new Vector<Integer>();
  lst.addAll(Arrays.asList(12,127,85,66,27,34,15,344,156,344,29,47));  
  System.out.println(max5(lst));
 }
}

请分析代码逻辑,并推测划线处的代码。

答案写在 “解答.txt” 文件中

注意:只写划线处应该填的内容,划线前后的内容不要抄写。

8.
    在编写图形界面软件的时候,经常会遇到处理两个矩形的关系。

如图【1.jpg】所示,矩形的交集指的是:两个矩形重叠区的矩形,当然也可能不存在(参看【2.jpg】)。两个矩形的并集指的是:能包含这两个矩形的最小矩形,它一定是存在的。

2012年 蓝桥杯预赛 java 本科 题目

2012年 蓝桥杯预赛 java 本科 题目

本题目的要求就是:由用户输入两个矩形的坐标,程序输出它们的交集和并集矩形。

矩形坐标的输入格式是输入两个对角点坐标,注意,不保证是哪个对角,也不保证顺序(你可以体会一下,在桌面上拖动鼠标拉矩形,4个方向都可以的)。

输入数据格式:
x1,y1,x2,y2
x1,y1,x2,y2
   
    数据共两行,每行表示一个矩形。每行是两个点的坐标。x坐标在左,y坐标在右。坐标系统是:屏幕左上角为(0,0),x坐标水平向右增大;y坐标垂直向下增大。

要求程序输出格式:
x1,y1,长度,高度
x1,y1,长度,高度

也是两行数据,分别表示交集和并集。如果交集不存在,则输出“不存在”

前边两项是左上角的坐标。后边是矩形的长度和高度。

例如,用户输入:
100,220,300,100 
150,150,300,300

则程序输出:
150,150,150,70
100,100,200,200

例如,用户输入:
10,10,20,20
30,30,40,40

则程序输出:
不存在
10,10,30,30

注意:

请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!
   
    在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。

请把所有类写在同一个文件中,调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。
   
    相关的工程文件不要拷入。
   
    请不要使用package语句。
   
    源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。

9.
    匪警请拨110,即使手机欠费也可拨通!

为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练!

某批警察叔叔正在进行智力训练:

1 2 3 4 5 6 7 8 9 = 110;

请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号)。之间没有填入符号的数字组合成一个数,例如:12+34+56+7-8+9 就是一种合格的填法;123+4+5+67-89 是另一个可能的答案。

请你利用计算机的优势,帮助警察叔叔快速找到所有答案。

每个答案占一行。形如:

12+34+56+7-8+9
123+4+5+67-89
......

已知的两个答案可以输出,但不计分。
   
    各个答案的前后顺序不重要。

注意:

请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!
   
    请把所有类写在同一个文件中,调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。
   
    相关的工程文件不要拷入。
   
    请不要使用package语句。
   
    源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。

10.
    泊松是法国数学家、物理学家和力学家。他一生致力科学事业,成果颇多。有许多著名的公式定理以他的名字命名,比如概率论中著名的泊松分布。

有一次闲暇时,他提出过一个有趣的问题,后称为:“泊松分酒”。在我国古代也提出过类似问题,遗憾的是没有进行彻底探索,其中流传较多是:“韩信走马分油”问题。

有3个容器,容量分别为12升,8升,5升。其中12升中装满油,另外两个空着。要求你只用3个容器操作,最后使得某个容器中正好有6升油。

下面的列表是可能的操作状态记录:
12,0,0
4,8,0
4,3,5
9,3,0
9,0,3
1,8,3
1,6,5

每行3个数据,分别表示12,8,6升容器中的油量

第一行表示初始状态,第二行表示把12升倒入8升容器后的状态,第三行是8升倒入5升,...

当然,同一个题目可能有多种不同的正确操作步骤。

本题目的要求是,请你编写程序,由用户输入:各个容器的容量,开始的状态,和要求的目标油量,程序则通过计算输出一种实现的步骤(不需要找到所有可能的方法)。如果没有可能实现,则输出:“不可能”。

例如,用户输入:
12,8,5,12,0,0,6

用户输入的前三个数是容器容量(由大到小),接下来三个数是三个容器开始时的油量配置,最后一个数是要求得到的油量(放在哪个容器里得到都可以)

则程序可以输出(答案不唯一,只验证操作可行性):
12,0,0
4,8,0
4,3,5
9,3,0
9,0,3
1,8,3
1,6,5

每一行表示一个操作过程中的油量状态。

注意:

请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!
   
    请把所有类写在同一个文件中,调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。
   
    相关的工程文件不要拷入。
   
    请不要使用package语句。
   
    源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。

2012年 蓝桥杯预赛 java 本科 题目的更多相关文章

  1. 2013年 蓝桥杯预赛 java 本科A 题目

    1.标题: 世纪末的星期 曾有*称1999年12月31日是世界末日.当然该谣言已经不攻自破. 还有人称今后的某个世纪末的12月31日,如果是星期一则会.... 有趣的是,任何一个世纪末的年份的12月 ...

  2. 2013第四届蓝桥杯决赛Java高职高专组题目以及解法答案

    2013第四届蓝桥杯决赛Java高职高专组题目以及解法答案 不知不觉离决赛都过去一个月了,一直忙于各种事情,都忘记整理一份试题.当作回忆也好. 1. 标题:好好学习 汤姆跟爷爷来中国旅游.一天,他帮助 ...

  3. 2012蓝桥杯C组本科决赛答案

    题目: 脱氧核糖核酸即常说的DNA,是一类带有遗传信息的生物大分子.它由4种主要的脱氧核苷酸(dAMP.dGMP.dCMT和dTMP)通过磷酸二酯键连接而成.这4种核苷酸可以分别记为:A.G.C.T. ...

  4. 2013蓝桥杯预赛C&sol;C&plus;&plus;本科B组

    题目标题: 高斯日记 大数学家高斯有个好习惯:无论如何都要记日记. 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯 ...

  5. 2014 蓝桥杯 预赛 c&sol;c&plus;&plus; 本科B组 第九题:地宫取宝(12&&num;39&semi;) &lbrack; dp &rsqb;

      历届试题 地宫取宝   时间限制:1.0s   内存限制:256.0MB     锦囊1   锦囊2   锦囊3   问题描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件 ...

  6. 蓝桥杯-分小组-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  7. 42-2017蓝桥杯b java

    1.购物单    小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞.    这不,XX大促销又来了!老板夫人开出了长长的购物单,都 ...

  8. 第三届蓝桥杯预赛真题&lowbar;第一题&lowbar;两种微生物 X 和 Y

    /* 假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍). 一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y. 现在已 ...

  9. 蓝桥杯比赛java 练习《立方变自身》

    立方变自身 观察下面的现象,某个数字的立方,按位累加仍然等于自身.1^3 = 1 8^3  = 512    5+1+2=817^3 = 4913   4+9+1+3=17... 请你计算包括1,8, ...

随机推荐

  1. c&num;中高效的excel导入sqlserver的方法

    将oledb读取的excel数据快速插入的sqlserver中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.S ...

  2. &lbrack;家里蹲大学数学杂志&rsqb;第033期稳态可压Navier-Stokes方程弱解的存在性

    1. 方程  考虑 $\bbR^3$ 中有界区域 $\Omega$ 上如下的稳态流动: $$\bee\label{eq} \left\{\ba{ll} \Div(\varrho\bbu)=0,\\ \ ...

  3. HDU 1165 Eddy&&num;39&semi;s research II

    题意:已知,求A(m, n). 分析:根据样例模拟一下过程就可以找出递推关系. #include<cstdio> #include<cstring> #include<c ...

  4. 转载 ASP&period;NET MVC中使用ASP&period;NET Identity

    转载原地址: http://blog.jobbole.com/90695/ 在之前的文章中,我为大家介绍了OWIN和Katana,有了对它们的基本了解后,才能更好的去学习ASP.NET Identit ...

  5. &lbrack;置顶&rsqb;&NewLine; 一个demo学会c&num;

    学习了c#4.5高级编程这本书,自己喜欢边学边总结边写demo,所以写了这篇文章,包含了大部分的c#编程知识.让你一个demo掌握c#编程,如果有问题可以留言. 此demo主要包括五个文件:Stude ...

  6. KMP及其改进算法

    本文主要讲述KMP已经KMP的一种改进方法.若发现不正确的地方,欢迎交流指出,谢谢! KMP算法的基本思想: KMP的算法流程: 每当一趟匹配过程中出现字符比较不等时,不需回溯 i 指针,而是利用已经 ...

  7. css中的宽高以及百分比参照

    百分比数参照物    父元素宽度:padding,margin,width,text-indent 父元素高度:height 自身:transform中的translate() 其他单位     vh ...

  8. 经验分享 &vert; 如何拿到自己满意的offer?

    本文阅读时间约16分钟 最近两年,人工智能(AI)就像一个点石成金的神器,所有的行业,创业公司,或是求职,只要沾着这个词,多少有点脚踩五彩祥云的感觉,故事来了,融资来了,高薪来了. 于是,越来越多的人 ...

  9. ios嵌套H5页面,出现的小bug;

    ios嵌套H5页面,点击数字时就会弹出打电话的功能:解决方法: 在head标签中添加: <meta name="format-detection" content=&quot ...

  10. Asp&period;net core WebApi 使用Swagger生成帮助页实例

    最近我们团队一直进行.net core的转型,web开发向着前后端分离的技术架构演进,我们后台主要是采用了asp.net core webapi来进行开发,开始每次调试以及与前端人员的沟通上都存在这效 ...