版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2011年蓝桥杯预赛Java本科A组试题和答案分类:算法学习2013-05-06 08:221770 人阅读评论(0)收藏举报2011年java本科A组algorithm算法预赛试题和答案蓝桥杯2011模拟java本科注意:真实竞赛题的数量、难度可能与此套模拟题有差本套模拟题主要模拟命题形式与考核范围。异。说明:本试卷包含两种题型:代码填空”与程序设计”。填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正 确、完整。所填写的代码不多于一条语句(即不能出现分号)。编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。注意:在评卷时使用的输入数据与试卷中给出的实例
2、数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。1. 代码填空(满分2分)在ABCDEF六人中随机抽取3人中奖,要求中奖人不能重复。请完善以下代码:P ublic class MyTestp ublic static void main( Stri ng args)Vector a = new Vector();for(char i=A; i=F; i+) a.add(” + i);for(i nt k=0; k3; k+)int d =;System.out .println( a.remove(d);new Ra ndom(). next In t(6-k) /(i
3、 nt)(Math.ra ndom()*(6-k)2. 代码填空(满分3分)F面的代码演示了如何把不同进制的数值间的转换是软件开发中很可能会遇到的常规问题。键盘输入的3进制数字转换为十进制。试完善之。BufferedReader br = new BufferedReader( new Inp utStreamReader(System.i n);Stri ng s = br.readL in e();int n = 0;for(i nt i=0; is .len gth(); i+)char c = s.charAt(i);if(c 2) throw new Run timeExce pti
4、 on (Format error);n =;System.out .prin tl n(n);3*n+c-O3. 代码填空(满分4分)有如下程序,完成的功能为:找出数组中的最大元素。请填写程序的中空白,使程序运行正 确。P ublic class testp ublic static void main( Stri ng args) int array=0,34,67,90,21,-9,98,1000,-78;System.out .prin tl n(new test().fi ndMax (array, 0);p ublic int fin dMax(i nt array,i nt in
5、 dex)if(array=n ull | array.le ngth=0)return 0;int max=array0;while(i ndexarray.le ngth-1)max=if(maxarray+in dex?max:arrayi ndex4. 代码填空(满分5分)电视台开宝箱节目:打进电话的人可以开启一个宝箱。箱子中有一件礼品。礼品是iphone的机率为1/12 ;是mp3的机率为1/5;是洗衣粉的机率为1/2;剩余是KFC优惠券。每次打进电话,宝箱会重置。以下程序模拟了该抽奖过程。请填写缺失的部分。P ublic static void main( Stri ng args
6、);int i = (int) (Math.ra ndom() *恭喜中了: iphone 手机);if (i 5) System.out. prin tl n(恭喜中了: mp 3);else if (i 17) System.out. prin tl n(恭喜中了:洗衣粉); else if (i 47) System.out. prin tl n(恭喜中了: KFC优惠券); else System.out. prin tl n(605. 代码填空(满分6分)下列代码求出一个二进制串中连续的1或连续的0出现的最大次数。请填缺失代码。例如:s = 101100111100011 ”4s=”
7、0111100000 ”5则返回:又例如:则返回:P ublic static int getMaxC on ti nuity(Stn ng s)int max_1 = 0;int max_0 = 0;int n_1 = 0; /当前1连续的次数int n_0 = 0; /当前0连续的次数for(i nt i=0; i max_1) max_1 = n _1;if(n_0 max_0) max_0 = n _0;retur n max_1max_0? max_1 : max_0);n_1=0 n_0=06. 代码填空(满分9分)5 ”12”x= ” F”120”下列代码把16进制表示的串转换为
8、 3进制表示的串。试完善之。例如:x= “则返回:又例如:则返回:P rivate static int getRealValue(char x)if(x=0 & x=a & x=A & x=F) return x-A+10; return 0;public static Stri ng jin_zhi_16_3(Stri ng x)intn = 0; /累加真值for(i nt i=0; ix .len gth(); i+)+ getRealValue(x.charAt(i); / 填空n =Stri ng t =;for(;)if(n=0) break;t = (n % 3) + t; /
9、 填空return t;16*n n/=37. 代码设计(满分5分)625这个数字很特别,625的平方等于390625,刚好其末3位是625本身。除了 625,还有其它 的3位数有这个特征吗?请编写程序,寻找所有这样的3位数:它的平方的末3位是这个数字本身。输出结果中,从小到大,每个找到的数字占一行。比如那个625就输出为:625Public static void main(String args) =int temp = 0;for(i nt i = 100; i = 999; +i)temp = i*i;temp %= 1000;if(te mp = i)System. out. pri
10、n tl n(i);8. 代码设计(满分11分)考虑方程式:a3 + b3 =少3 + d3其中:“”表示乘方。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不同解间的顺序可以不考虑。public
11、 static void main(String args) int arr = new int31;for(i nt i = 1; i = 30; +i)arri = ( int)i*i*i;for(i nt a = 1 ; a = 27; +a)for(i nt b = a+1 ; b = 28; +b)for(i nt c = b+1 ; c = 29; +c)for(i nt d = c+1 ; d = 30; +d)if(arra + arrd)=(arrb + arrc)System. out.println(a + , + b + , + c + , + d);9.代码设计(满分
12、18分)整数的分划问题。如,对于正整数 n=6,可以分划为:65+14+2,4+1+13+3,3+2+1,3+1+1+12+2+2,2+2+1 + 1,2+1 + 1 + 1+11+1+1+1+1+1+1现在的问题是,对于给定的正整数n,编写算法打印所有划分。用户从键盘输入n (范围110)程序输出该整数的所有划分。import java.util.*;public class Test private static LinkedListstore =new LinkedListVnteger();public static void print()if(store =nuII |store
13、.size()=0) return ;for(int i=store .size()-1;i0;i-)System. out.pnnt( store .get(i)+ +);System. out.println( store .get(0);public static void divide( int num, int div)if(0=num) prin t();for(;div0;div-)if(num =div)store .push(div);divide( nu m-div, div);store .pop();public static void main(String args
14、)int n=10;divide( n, n);10. 代码设计(满分20分)N次方的和等于这个数本身,则称一个N位的十进制正整数,如果它的每个位上的数字的 其为花朵数。例如:当N=3时,153就满足条件,因为 3 + 5人3 + 3人3 = 153,这样的数字也被称为水仙花数(其中,“ A”表示乘方,5人3表示5的3次方,也就是立方)。当 N=4 时,1634满足条件,因为1M + 6M + 3M + 4M = 1634。当N=5时,92727满足条件。实际上,对N的每个取值,可能有多个数字满足条件。449177399146038697307128468643043731391252程序的任
15、务是:求N=21时,所有满足条件的花朵数。注意:这个整数有21位,它的各个位数字的21次方之和正好等于这个数本身。如果满足条件的数字不只有一个,请从小到大输出所有符合条件的数字,每个数字占一行。 因为这个数字很大,请注意解法时间上的可行性。要求程序在3分钟内运行完毕。import java.math.*;import java.util.*;public class Test staticstaticint n= 21, count =0;BigInteger table = new BigInteger10;BigInteger store = new BigInteger1000;priv
16、atestaticprivateprivatestaticfor(i nt i=0;i10;i+)table i=BigInteger.valueOf(i).pow(public static Biginteger getSum(Big In teger bigI nteger=Bigl nteger.for(int i=0;i n ;i+)n);int nu m)ZERO ;big In teger=bigl nteger.add(table nu mi);return bigInteger;public static boolean compare( int num,BigInteger
17、bigInteger) String str = bigI nteger.toStri ng();char c=str.toCharArray();if(c.length !=n) return false ;Arrays.sort(c);for(int i=0;i n ;i+)if(numi!=ci- 0)false ;returntrue;returnstatic void f(int nums, int leval, int num)publicnu msleval=num;if(20=leval)Bigin teger bt=getSu m(nu ms);if(co mpare(nu ms, bt) store count +=bt; return ;for(i nt i=nu m;i10;i+)f(nu ms, leval+1, i);public static void main(String args)Long Ion g1=System.curre ntTime
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 厦门兴才职业技术学院《口腔解剖生理学》2025-2026学年期末试卷
- 滁州职业技术学院《畜牧微生物学》2025-2026学年期末试卷
- 福建林业职业技术学院《金融学基础》2025-2026学年期末试卷
- 安徽机电职业技术学院《大学体育》2025-2026学年期末试卷
- 滁州职业技术学院《中国古代文学史补充题》2025-2026学年期末试卷
- 厦门华天涉外职业技术学院《秘书理论》2025-2026学年期末试卷
- 黄山健康职业学院《国际贸易实务》2025-2026学年期末试卷
- 中国矿业大学《中医临床护理学》2025-2026学年期末试卷
- 六安应用科技职业学院《中药调剂学》2025-2026学年期末试卷
- 手风琴校音工安全宣贯评优考核试卷含答案
- 医院住院部规章制度范本
- 国防科技报告质量评价标准及推进措施
- 叉车作业人员培训记录表
- 部编版小学语文四年级下册教师教学用书(教学参考)完整版
- 2020教学能力大赛国赛一等奖实施报告汇报PPT-国一
- 中国石油大学(华东)辅导员考试真题2022
- 空压机搬迁安装施工安全技术措施方案
- 冶金工业建设工程设备与材料划分规定
- 熔化焊与热切割基础知识
- 玻璃幕墙安全专项施工方案专家论证本
- 高聚物合成工艺学
评论
0/150
提交评论