蓝桥杯Java试题

合集下载

蓝桥杯经典例题(Java语言实现)

蓝桥杯经典例题(Java语言实现)

1.Fibonacci数列·import java.util.Scanner;public class Main {public static void main(String[] args) { // TODO Auto-generated method stubScanner sca = new Scanner(System.in);int i = sca.nextInt();int[] s = new int[i+1];s[1] = s[2]= 1;for (int j = 3; j <= i; j++) {s[j] = (s[j - 1] + s[j - 2]) % 10007;}System.out.println(s[i]);}}2.圆的面积import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sca = new Scanner(System.in);int r = sca.nextInt();double PI=Math.PI;double S=PI*r*r;String result=String.format("%.7f", S);//四舍五入System.out.println(result);result=String.format("%.8f", S).substring(0,(S+"").indexOf(".")+8);//不进行四舍五入,现取9位小数,再截取8位System.out.println(result);}}3.序列求和import java.util.Scanner;public class Main {public static void main(String[] args) { // TODO Auto-generated method stubScanner sca = new Scanner(System.in);long n = sca.nextInt();long result=(1+n)*n/2;System.out.println(result);}}递归实现:import java.util.Scanner;public class Main {static int sum=0;public static void main(String[] args) { // TODO Auto-generated method stubScanner sca = new Scanner(System.in);int n = sca.nextInt();System.out.println(f(n));}private static int f(int n) {// TODO Auto-generated method stubif(n==1)return 1;return n+f(n-1);}}4.闰年判断当以下情况之一满足时,这一年是闰年:1. 年份是4的倍数而不是100的倍数;2. 年份是400的倍数。

蓝桥杯java练习题分类汇总

蓝桥杯java练习题分类汇总

蓝桥杯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.起始⾏:START2.密码消息:由1到200个字符组成⼀⾏,表⽰凯撒发出的⼀条消息.3.结束⾏:END在最后⼀个数据集之后,是另⼀⾏:ENDOFINPUT。

输出:每个数据集对应⼀⾏,是凯撒的原始消息。

Sample InputSTARTNS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJXENDSTARTN BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJENDSTARTIFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ ENDENDOFINPUTSample OutputIN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSESI WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROMEDANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE2. 判断是否为回⽂串形如:“abccba”,“abcba”的串称为回⽂串(指顺读和倒读都⼀样的词语),下列代码判断⼀个串是否为回⽂串。

蓝桥杯Java试题汇总-共48页

蓝桥杯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。

第八届蓝桥杯JavaC组国(决)赛真题

第八届蓝桥杯JavaC组国(决)赛真题

第⼋届蓝桥杯JavaC组国(决)赛真题解题代码部分来⾃⽹友,如果有不对的地⽅,欢迎各位⼤佬评论题⽬1、数位和题⽬描述数学家⾼斯很⼩的时候就天分过⼈。

⼀次⽼师指定的算数题⽬是:1+2+ (100)⾼斯⽴即做出答案:5050!这次你的任务是类似的。

但并⾮是把⼀个个的数字加起来,⽽是对该数字的每⼀个数位作累加。

这样从1加到100的“和”是:901从10加到15是:21,也就是:1+0+1+1+1+2+1+3+1+4+1+5,这个⼝算都可以出结果的。

按这样的“加法”,从1加到1000是多少呢? 请通过浏览器提交该结果。

当然,我们并不期望你能像⾼斯⼀样,发现数字背后深奥的秘密,只要请计算机帮忙,⼀切都easy!注意:你需要提交的是⼀个整数,不要填写任何多余的内容(⽐如:说明性⽂字)答案:13501public class _01数位和 {public static void main(String[] args) {int sum = 0;String str = "";for(int i = 1;i <= 1000;i++){str += i;}char[] arr = str.toCharArray();for(int i = 0;i < arr.length;i++){sum += arr[i]-'0';}System.out.println(sum);}}题⽬2、数字划分题⽬描述w星球的长⽼交给⼩明⼀个任务:1,2,3…16 这16个数字分为两组。

要求:这两组数字的和相同,并且,两组数字的平⽅和也相同,并且,两组数字的⽴⽅和也相同。

请你利⽤计算机的强⼤搜索能⼒解决这个问题。

并提交1所在的那个分组的所有数字。

这些数字要从⼩到⼤排列,两个数字间⽤⼀个空格分开。

即类似:1 4 5 8 … 这样的答案。

注意,只提交这⼀组数字,不要填写任何多余的内容。

笨笨有话说:只要⼀个组的成员确定了,另⼀个组的成员也就确定了。

第六届蓝桥杯大赛个人赛省赛(软件类)Java 大学B组试题

第六届蓝桥杯大赛个人赛省赛(软件类)Java 大学B组试题

第六届蓝桥杯大赛个人赛省赛(软件类)Java 大学B组试题三角形面积如图1所示。

图中的所有小方格面积都是1。

那么,图中的三角形面积应该是多少呢?请填写三角形的面积。

不要填写任何多余内容或说明性文字。

立方变自身观察下面的现象,某个数字的立方,按位累加仍然等于自身。

1^3 = 18^3 = 512 5+1+2=817^3 = 4913 4+9+1+3=17...请你计算包括1,8,17在内,符合这个性质的正整数一共有多少个?请填写该数字,不要填写任何多余的内容或说明性的文字。

三羊献瑞观察下面的加法算式:祥瑞生辉+ 三羊献瑞-------------------三羊生瑞气(如果有对齐问题,可以参看【图1.jpg】)其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。

请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。

循环节长度两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。

比如,11/13=6=>0.846153846153..... 其循环节为[846153] 共有6位。

下面的方法,可以求出循环节的长度。

请仔细阅读代码,并填写划线部分缺少的代码。

public static int f(int n, int m){n = n % m;V ector v = new V ector();for(;;){v.add(n);n *= 10;n = n % m;if(n==0) return 0;if(v.indexOf(n)>=0)_______System.out.println(v.indexOf(n))__________________________ ; //填空}}注意,只能填写缺少的部分,不要重复抄写已有代码。

不要填写任何多余的文字。

九数组分数1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。

蓝桥杯java模拟试题

蓝桥杯java模拟试题

本试卷包含两种题型:“代码填空”与“程序设计”。

填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。

所填写的代码不多于一条语句(即不能出现分号)。

编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。

注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。

选手的程序必须是通用的,不能只对试卷中给定的数据有效。

1.代码填空(满分3分)以下程序打印出0~9的数字,请补充缺少的代码。

public class MyTest{public static void f(int begin, int end){__________________;System.out.println(begin);f(begin+1, end);}public static void main(String[] args){f(0,9);}}if(begin>end) return;//相当于退出循环的条件。

return 无返回值根据void2.代码填空(满分4分)如果要把两个整型变量a、b的值交换,一般要采用一个中间变量做过渡,但也可以在不借助任何其它变量的情况下完成。

试填写缺失的代码。

a = a ^ b;b = _________;a = _________;a^b a^b3.代码填空(满分3分)许多人都曾经玩过“拍七”游戏。

规则是:大家依次从1开始顺序数数,数到含有7或7的倍数的要拍手或其它规定的方式表示越过(比如:7,14,17,71等都不能数出),下一人继续数下面的数字。

违反规则者受罚。

下面的程序模拟这个过程,拍7的情况输出“*”,请完善之。

for(int i=1; i<100; i++){if(i % 7 == 0)System.out.println("*");else if(___________________)System.out.println("*");elseSystem.out.println(i);}(i-7)%10==0||i/10==7 // i/10==7||i%10==74.代码填空(满分5分)下面的静态方法的目的是求出某个日期是该年度的第几天。

蓝桥杯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关键字来实现。

第九届蓝桥杯JavaC组省赛真题

第九届蓝桥杯JavaC组省赛真题

第九届蓝桥杯JavaC组省赛真题解题代码部分来⾃⽹友,如果有不对的地⽅,欢迎各位⼤佬评论题⽬1、哪天返回题⽬描述⼩明被不明势⼒劫持。

后被扔到x星站再⽆问津。

⼩明得知每天都有飞船飞往地球,但需要108元的船票,⽽他却⾝⽆分⽂。

他决定在x星战打⼯。

好⼼的⽼板答应包⾷宿,第1天给他1元钱。

并且,以后的每⼀天都⽐前⼀天多2元钱,直到他有⾜够的钱买票。

请计算⼀下,⼩明在第⼏天就能凑够108元,返回地球。

要求提交的是⼀个整数,表⽰第⼏天。

请不要提交任何多余的内容。

package Lqb;public class Text27 {public static void main(String[] args) {int money=1;int dayMoney=1;int day=1;System.out.println("第 "+day+" 天:"+"⼯资:"+dayMoney+" "+money);while(money<108){dayMoney+=2;money+=dayMoney;day++;System.out.println("第 "+day+" 天:"+"⼯资:"+dayMoney+" "+money);}}}题⽬2、猴⼦分⾹蕉题⽬描述5只猴⼦是好朋友,在海边的椰⼦树上睡着了。

这期间,有商船把⼀⼤堆⾹蕉忘记在沙滩上离去。

第1只猴⼦醒来,把⾹蕉均分成5堆,还剩下1个,就吃掉并把⾃⼰的⼀份藏起来继续睡觉。

第2只猴⼦醒来,重新把⾹蕉均分成5堆,还剩下2个,就吃掉并把⾃⼰的⼀份藏起来继续睡觉。

第3只猴⼦醒来,重新把⾹蕉均分成5堆,还剩下3个,就吃掉并把⾃⼰的⼀份藏起来继续睡觉。

第4只猴⼦醒来,重新把⾹蕉均分成5堆,还剩下4个,就吃掉并把⾃⼰的⼀份藏起来继续睡觉。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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。

输出格式请输出相应的表达式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<m-1;i++){24 System.out.print("(");25 }26 Sn(1);27 }28public static void An(int n,int k){29if(n==k){30 System.out.print("sin("+n);31 }else if(n%2!=0){32System.out.print("sin("+n+"-");33 }else{34System.out.print("sin("+n+"+")35 ; }36if(n<k)37 An(n+1,k);38 System.out.print(")");39 }40public static void Sn(int n){41 An(1,n);42if(n!=m){43 System.out.print("+"+(m-n+1)+")");44 }else{45 System.out.print("+"+(m-n+1));46 }47if(n<m){4849 Sn(n+1);} }}编译信息无3.基础练习FJ的字符串时间限制:1.0s 内存限制:512.0MB问题描述FJ在沙盘上写了这样一些字符串:A1 = “A”A2 = “ABA”A3 = “ABACABA”A4 = “ABACABADABACABA”… …你能找出其中的规律并写所有的数列AN吗?输入格式仅有一个数:N ≤ 26。

输出格式请输出相应的字符串AN,以一个换行符结束。

输出中不得含有多余的空格或换行、回车符。

样例输入3样例输出ABACABA言JAVA源代码50import java.util.Scanner;51public class Main {52public static char[] c ={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O', 53 'P','Q','R','S','T','U','V','W','X','Y','Z'}; 54public static void main(String[] args){55 Scanner scan = new Scanner(System.in);56int n=scan.nextInt();57 print(n); }58private static void print(int n){59if(n == 1){60 System.out.print("A");61 }62else{63 print(n - 1);64 System.out.print(c[n - 1]);print(n - 1); } }}4.基础练习芯片测试时间限制:1.0s 内存限制:512.0MB问题描述有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。

每个芯片都能用来测试其他芯片。

用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。

而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。

给出所有芯片的测试结果,问哪些芯片是好芯片。

输入格式输入数据第一行为一个整数n,表示芯片个数。

第二行到第n+1行为n*n的一张表,每行n个数据。

表中的每个数据为0或1,在这n行中的第i行第j列(1≤i, j≤n)的数据表示用第i块芯片测试第j块芯片时得到的测试结果,1表示好,0表示坏,i=j时一律为1(并不表示该芯片对本身的测试结果。

芯片不能对本身进行测试)。

输出格式按从小到大的顺序输出所有好芯片的编号样例输入31 0 10 1 01 0 1样例输出1 3语言JAVA源代码65import java.util.*;66public class Main {67public static void main(String[] args) {68 Scanner sc=newScanner(System.in);69int n=sc.nextInt();70int[][] a=new int[n][n];71for(int i=0;i<n;i++){72for(int k=0;k<n;k++){73 a[i][k]=sc.nextInt();}747576 }7778for(int k=0;k<n;k++){79int count=0;80for(int i=0;i<n;i++){81 count+=a[i][k];82 }83if(count>n/2){84 System.out.print((k+1)+" ");}85 }}}5.基础练习龟兔赛跑预测时间限制:1.0s 内存限制:512.0MB话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。

于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。

他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。

对于不同的兔子,t,s的数值是不同的,但是所有的乌龟却是一致——它们不到终点决不停止。

然而有些比赛相当漫长,全程观看会耗费大量时间,而小华发现只要在每场比赛开始后记录下兔子和乌龟的数据——兔子的速度v1(表示每秒兔子能跑v1米),乌龟的速度v2,以及兔子对应的t,s值,以及赛道的长度l——就能预测出比赛的结果。

但是小华很懒,不想通过手工计算推测出比赛的结果,于是他找到了你——清华大学计算机系的高才生——请求帮助,请你写一个程序,对于输入的一场比赛的数据v1,v2,t,s,l,预测该场比赛的结果。

输入格式输入只有一行,包含用空格隔开的五个正整数v1,v2,t,s,l,其中(v1,v2<=100;t<=300;s<=10;l<=10000且为v1,v2的公倍数)输出格式输出包含两行,第一行输出比赛结果——一个大写字母“T”或“R”或“D”,分别表示乌龟获胜,兔子获胜,或者两者同时到达终点。

第二行输出一个正整数,表示获胜者(或者双方同时)到达终点所耗费的时间(秒数)。

样例输入10 5 5 2 20D4样例输入10 5 5 1 20样例输出R3样例输入10 5 5 3 20样例输出T4语言JAVA源代码import java.util.Scanner; public class Main { public static voidmain(String[] args){ Scanner sc=new Scanner(System.in); int num[]=new int[5]; for(int i=0;i<5;i++)num[i]=sc.nextInt(); int sum1=0,sum2=0,time=1; for(intt=1;t<=num[4]/num[0];time++){ sum1+=num[0]*t;sum2+=num[1]*t; if(sum1==num[4]||sum2==num[4]) break;if(sum1-sum2>=num[2]){ sum2+=num[1]*num[3]; time+=num[3]; } }if(sum2>sum1){ System.out.println("T");System.out.println(num[4]/num[1]); } elseif(sum2<sum1){ System.out.println("R");System.out.println(time); }else{ System.out.println("D");System.out.println(num[4]/num[1]); } } }6.基础练习报时助手时间限制:1.0s 内存限制:512.0MB问题描述给定当前的时间,请用英文的读法将它读出来。

相关文档
最新文档