蓝桥杯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练习题分类汇总(⼀)字符串处理类型题⽬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页
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组国(决)赛真题解题代码部分来⾃⽹友,如果有不对的地⽅,欢迎各位⼤佬评论题⽬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组试题三角形面积如图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模拟试题
本试卷包含两种题型:“代码填空”与“程序设计”。
填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。
所填写的代码不多于一条语句(即不能出现分号)。
编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。
注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
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模拟赛试题及答案一、选择题(每题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组省赛真题解题代码部分来⾃⽹友,如果有不对的地⽅,欢迎各位⼤佬评论题⽬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个,就吃掉并把⾃⼰的⼀份藏起来继续睡觉。
第四届蓝桥杯JAVA试题
1 + -------------
1
1 + ---------
1 + ...
我做起振兴
做起振兴中
起振兴中华
比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。
要求跳过的路线刚好构成“从我做起振兴中华”这句话。
请你帮助小明算一算他一共有多少种可能的跳跃路线呢?
假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)
能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢?
请你利用计算机的优势寻找所有的可能,并回答不同算式的种类数。
满足乘法交换律的算式计为不同的种类,所以答案肯定是个偶数。
}
}
}
如果给定数组:
25,18,-2,0,16,-5,33,21,0,19,-16,25,-3,0
则排序后为:
-3,-2,-16,-5,0,0,0,21,19,33,25,16,18,25
请分析代码逻辑,并推测划线处的代码,通过网页提交
注意:仅把缺少的代码作为答案,千万不要填写多余的代码、符号或说明文字!!
比如,对一个整型数组中的数字进行分类排序:
使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!!
以下的程序实现了该目标。
static void sort(int[] x)
{
答案直接通过浏览器提交。
注意:只提交一个表示最终统计种类数的数字,不要提交解答过程或其它多余的内容。
蓝桥杯本科java试题及答案
蓝桥杯本科java试题及答案蓝桥杯本科Java试题及答案一、选择题(每题2分,共10分)1. 在Java中,以下哪个关键字用于定义类?A. classB. functionC. interfaceD. struct答案:A2. 下列哪个是Java中的合法标识符?A. 2classB. class@2C. _classD. class-class答案:C3. Java中的哪个类提供了一种计算时间和日期的方法?A. DateB. TimeC. CalendarD. Clock答案:C4. 在Java中,以下哪个是正确的条件表达式?A. if (x = 5)B. if (x == 5)C. if (x : 5)D. if (x / 5)答案:B5. Java中的异常处理机制是通过哪两个关键字实现的?A. try-catchB. if-elseC. switch-caseD. for-loop答案:A二、填空题(每题3分,共15分)1. Java中的所有类都是继承自ng.________类。
答案:Object2. 在Java中,________关键字用于实现方法的多态。
答案:override3. Java中的集合框架主要分为两大类:________和________。
答案:List、Set4. Java中的线程同步机制是通过________关键字实现的。
答案:synchronized5. Java中,要实现网络通信,可以使用________类。
答案:Socket三、简答题(共20分)1. 请简述Java中接口和抽象类的区别。
(10分)答案:接口定义了一组可供实现的抽象方法,它不包含任何实现细节,一个类可以实现多个接口。
抽象类可以包含抽象方法和具体方法,它提供了一个通用的模板,一个类只能继承一个抽象类。
接口主要用于定义一个或多个类必须遵守的规则,而抽象类则更侧重于代码的共享和重用。
2. 请解释Java中垃圾回收机制的作用及其工作原理。
第四届蓝桥杯校内选拔赛试题java组
第四届“蓝桥杯”全国软件专业人才设计与创业大赛校内选拔赛试题(Java组)第一部分:准备工作:1、在D:盘中建立一个以自己“学号+姓名”命名的考生文件夹。
如:学号:123456,姓名:张三,则考生文件夹为:123456张三2、答题时:(1)填空题的答案全部写在一个记事本(.txt)文件中,文件名为“tk_姓名的首字母”。
如:姓名:张三,则文件名为“tk_zs.txt”(2)编程题,每个小题一个源文件,每道题的源程序文件名为:“姓名的首字母+题号”。
如:姓名:张三,第1小题,源程序文件名为“zs1.java”3、答题结束时,请把填空题答案文件和所有的源程序文件复制到您的考生文件夹中,再把考生文件夹复制到F:\LQXB4中。
第二部分:试题一、填空题:(第空5分,共50分)1、素数问题输入一个正整数,判断它是否为素数。
素数就是该数只能被1和它本身整除,除1之外的正整数。
#include <stdio.h>#include <math.h> /* 程序中调用平方根函数sqrt,需包含math.h */void main( ){int number,i,k;printf("Please enter a positive integer:");scanf("%d",&number);k=(int)sqrt(number);for(i=2;【1】______________;i++)if(number%i==0) break;/* 如果number能被某个i整除,则number不是素数,提前结束循环 *//*若number是素数,i>k时for循环才结束,若number不是素数,i<=k时,就提前结束循环。
*/if(【2】_______________)printf("%d is a prime number.\n",number);elseprintf("%d isn't a prime number.\n",number);}运行情况1:Please enter a positive integer:77 is a prime number.运行情况2:Please enter a positive integer:2020 isn’t a prime number.2、下面程序段的执行结果是【3】______________3、圆周率我国古代数学家对圆周率方面的研究工作,成绩是突出的。
第七届蓝桥杯省赛a组试题及答案
第七届蓝桥杯省赛a组试题及答案第七届蓝桥杯省赛A组试题及答案1. 选择题- 1.1 以下哪个选项是Java中的数据类型?A. BooleanB. StringC. IntegerD. All of the above- 答案:D- 1.2 在C++中,用于定义一个类的方法是什么关键字?A. classB. structC. functionD. method- 答案:A2. 填空题- 2.1 在Python中,用于定义函数的关键字是____。
- 答案:def- 2.2 在JavaScript中,用于声明变量的关键字是____。
- 答案:var3. 编程题- 3.1 编写一个函数,计算并返回从1到n的整数之和。
- 答案:```pythondef sum_n(n):return sum(range(1, n+1))```- 3.2 编写一个程序,实现一个简单的计算器,可以进行加、减、乘、除操作。
- 答案:```pythondef calculator(a, b, operation):if operation == '+':return a + belif operation == '-':return a - belif operation == '*':return a * belif operation == '/':return a / b if b != 0 else 'Error: Division by zero'```4. 简答题- 4.1 解释什么是面向对象编程(OOP)?- 答案:面向对象编程(OOP)是一种编程范式,它使用“对象”来设计应用程序和程序。
对象是现实世界中事物的抽象,它们具有属性(数据)和方法(功能)。
- 4.2 描述一下什么是递归函数?- 答案:递归函数是一个调用自身的函数,它允许函数在执行过程中调用自己。
第三届蓝桥杯(高职java预赛题及参考答案)
1、造成高房价的原因有许多,比如土地出让价格。
既然地价高,土地的面积必须仔细计算。
遗憾的是,有些地块的形状不规则,比如是如图【1.jpg】中所示的五边形。
一般需要把它划分为多个三角形来计算。
已知三边求三角形的面积需要用海伦定理,参见【2.jpg】各条边长数据如下:AB = 52.1BC = 57.2CD = 43.5DE = 51.9EA = 33.4EB = 68.2EC = 71.9根据这些数据求五边形地块的面积。
四舍五入到小数后两位。
只写结果,不要源代码!1.jpg2.jpgpublic class Onea {public static void main(String args[]){double s_ABE = (52.1 + 68.2 + 33.4) / 2;double s_BEC = (68.2 + 57.2 + 71.9) / 2;double s_EDC = (71.9 + 51.9 + 43.5) / 2;// sqrt()是Math中的静态方法可以用类名直接调用double A_ABE = Math.sqrt(s_ABE * (s_ABE - 52.1) * (s_ABE - 33.4) * (s_ABE - 68.2));double A_BEC = Math.sqrt(s_BEC * (s_BEC - 68.2) * (s_BEC - 57.2) * (s_BEC - 71.9));double A_EDC = Math.sqrt(s_EDC * (s_EDC - 71.9) * (s_EDC - 43.5) * (s_EDC - 51.9));System.out.println(A_ABE + A_BEC + A_EDC);}}// 输出的结果是3789.8640994485186public class One {public static void main(String[] args) {double AB = 52.1, BC = 57.2, CD = 43.5, DE = 51.9, EA = 33.4, EB = 68.2, EC = 71.9;System.out.println(mainji(AB,EB,EA) + mainji(EB,BC,EC) +mainji(EC,CD,DE));}static double mainji(double a,double b,double c){double s = (a + b + c)/2;return Math.sqrt(s * (s - a) * (s - b) * (s - c));}}输出结果:3789.86409944851862、今年的植树节(2012年3月12日),小明和他的叔叔还有小伙伴们一起去植树。
蓝桥杯java试题及答案
/*import java.util.scanner;
import java.util.vector;
public class question1 {
public static long count=0;
private void fullpermutation(vectorcharactersourse, vectorcharacter result) {
*假设用户输入的串长度不超过200个字符。
*/
public class simplestring {
public static void main(string args[]){
string str=;
str=(new scanner(system.in)).nextline();
string []str1=str.split([ ]+);
每个单词间由1个或多个空格分隔。
假设用户输入的串长度不超过200个字符。
package question1_9;
import java.util.scanner;
import java.util.vector;
public class question2 {
public static void main(string[] args) {
index++;
}
index++;
}
for (int i = 0; i vector.size(); i++) {
system.out.print(vector.elementat(i));
}
system.out.println();
} catch (arrayindexoutofboundsexception e) {
蓝桥杯高职java试题及部分参考答案
2011年选拔赛java 高职考生须知:考试时间为4小时。
本试卷包含两种题型:“代码填空”与“程序设计”。
总计100分。
其中代码填空:3+3+4+6+7+9+10 = 42 分程序设计:14+17+27 = 58分填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。
所填写的代码不超过一条语句(即不能出现分号)。
把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。
编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。
考生的程序只有能运行出正确结果的时候才有机会得分。
注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
对每个题目,要求考生把所有类写在一个文件中。
调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。
相关的工程文件不要拷入。
请不要使用package语句。
另外,源程序中只能出现JDK1.5中允许的语法或调用。
不能使用1.6或更高版本。
1.代码填空(满分3分)计算蔬菜总价为了丰富群众菜篮子,平抑菜价,相关部分组织了蔬菜的调运。
今某箱中有多个品种的蔬菜。
蔬菜的单价(元/公斤)存放在price数组中,蔬菜的重量(公斤)存放在weight数组中。
下面的代码计算该箱蔬菜的总价,试完善之。
把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。
public static double getTotal(double[] price, double[] weight){double x = 0;for(int i=0; i<price.length; i++){____________________;}return x;}2.代码填空(满分3分)计算行程低碳生活,有氧运动。
骑自行车出行是个好主意。
小明为自己的自行车装了个计数器,可以计算出轮子转动的圈数。
蓝桥杯2022年java试题基础练习
蓝桥杯2022年java试题基础练习⼀:基础练习:(本⽂只附代码,解析后续修改后添上) 1.a+b问题: 代码如下:1 1 import java.util.*;2 2 public class Main {3 3 public static void main(String args[]) {4 4 int a,b;5 56 6 Scanner input = new Scanner(System.in);7 7 a = input.nextInt();8 8 b = input.nextInt();9 910 10 System.out.println(a+b);11 11 }12 12 }View Code 2.序列排序问题: 代码如下:1 1 import java.util.Arrays;2 2 import java.util.Scanner;3 34 4 public class Main {5 5 public static void main(String[] args) {6 6 Scanner scanner = new Scanner(System.in);7 7 int n = scanner.nextInt();8 8 int[] arr = new int[n];9 9 //往数组添加元素,接收数据10 10 for (int i = 0; i < n; i++) {11 11 arr[i] = scanner.nextInt();12 12 }13 1314 14 //对数组排序15 15 Arrays.sort(arr);16 1617 17 //打印数组18 18 for (int i = 0; i < n; i++) {19 19 System.out.print(arr[i] + " ");20 20 }21 21 }22 22 }View Code 3.⼗六进制转⼋进制: 代码如下:1import java.util.Scanner;2public class Main {3public static void main(String[] args) {4 Question1();56 }8 Scanner in = new Scanner(System.in);9int n = Integer.parseInt(in.nextLine());10int i, j;11 String[] sz = new String[n];12//读⼊⼗六进制数13for (i = 0; i < n; i++) {14 sz[i] = in.next();15 }16for(i = 0; i < sz.length; i++) {17 String s = sz[i];18 StringBuilder sb = new StringBuilder();19//将⼀位⼗六进制数转换为四位⼆进制数 20for(j = 0; j < s.length(); j++) {21switch(s.charAt(j)) {22case '0':23 sb.append("0000");24break;25case '1':26 sb.append("0001");27break;28case '2':29 sb.append("0010");30break;31case '3':32 sb.append("0011");33break;34case '4':35 sb.append("0100");36break;37case '5':38 sb.append("0101");39break;40case '6':41 sb.append("0110");42break;43case '7':44 sb.append("0111");45break;46case '8':47 sb.append("1000");48break;49case '9':50 sb.append("1001");51break;52case 'A':53 sb.append("1010");54break;55case 'B':56 sb.append("1011");57break;58case 'C':59 sb.append("1100");60break;61case 'D':62 sb.append("1101");63break;64case 'E':65 sb.append("1110");66break;67case 'F':68 sb.append("1111");69break;70 }71 }72//再将⼆进制数转换成⼋进制数73 transform(sb);74 }7576 }77public static void transform(StringBuilder sb) { 78int num = sb.length() % 3;79//判断长度是否为3的倍数80switch(num) {81case 0:82//若转换的⼋进制数中第⼀位为0则删去 83if(sb.substring(0, 3).equals("000"))84 sb.delete(0, 3);85break;86case 1:87if(sb.substring(0, 1).equals("0"))88 sb.delete(0, 1);89else sb = sb.insert(0, "00");92if(sb.substring(0, 2).equals("00"))93 sb.delete(0, 2);94else sb = sb.insert(0, "0");95break;96 }97 StringBuilder res = new StringBuilder();98int len = sb.length();99 String[] new_s1 = new String[len/3];100//取三位转换成⼋进制数101for(int i = 0; i < len/3; i++) {102int tmp = Integer.parseInt(sb.substring(i * 3, i * 3 + 3), 2); 103 res.append(tmp);104 }105 System.out.println(res);106 }107 }View Code4.⼗六进制转⼗进制: 代码如下:1import java.util.Scanner;2public class Main {3public static void main(String[] args) {4 Scanner scanner = new Scanner(System.in);5 String string = scanner.nextLine();6 System.out.print(Long.parseLong(string, 16));7 }8 }View Code5.⼗进制转⼗六进制: 代码如下:1import java.util.Scanner;2public class Main {3public static void main(String[] args) {4 Scanner input = new Scanner(System.in);5 one(input.nextInt());67 }89public static void one(int a){10int b;11if(a<=15) {12 tohax(a);13// System.out.print(a);1415 }16else{17 b=a%16;18 one(a>>4);19 tohax(b);20// System.out.print(b);21 }22 }23public static void tohax(int c){24switch (c){25default:26 System.out.print(c);27break;2829case 10:30 System.out.print("A");31break;32case 11:35case 12:36 System.out.print("C");37break;38case 13:39 System.out.print("D");40break;41case 14:42 System.out.print("E");43break;44case 15:45 System.out.print("F");46break;4748 }49 }50 }View Code6.特殊的回⽂数: 代码如下:1import java.util.Scanner;23public class Main {4final static byte one = 1;//常量1.5final static byte two = 2;//常量2.6final static byte ten = 10;//常量10;78//输⼊:正整数n。
蓝桥杯模拟试题java本科组试题及答案
2011 模拟 java 本科1.代码设计(满分5分) 625这个数字很特别,625的平方等于390625,刚好其末3位是625本身。
除了625,还有其它的3位数有这个特征吗?位数有这个特征吗?请编写程序,寻找所有这样的3位数:它的平方的末3位是这个数字本身。
数字本身。
输出结果中,从小到大,每个找到的数字占一行。
比如那个625就输出为:625public static void main(String[] args) {int temp = 0;for (int i = 100; i <= 999; ++i){temp = i*i;temp %= 1000;if (temp == i)System.out .println(i); }}2.代码设计(满分11分) 考虑方程式:a^3 + b^3 = c^3 + d^3其中:“^”表示乘方。
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 static void main(String[] args) {int []arr = newint [31]; for (int i = 1; i <= 30; ++i){arr[i] = (int )i*i*i;}for (int a = 1 ; a <= 27; ++a){for (int b = a+1 ; b <= 28; ++b){for (int c = b+1 ; c <= 29; ++c){ for (int d = c+1 ; d <= 30; ++d){ if ((arr[a] + arr[d])==(arr[b] + arr[c]))System.out .println(a + .println(a + ",""," + b + "," + c + + c + ",""," + d);}}}}}3.代码设计(满分18分) 整数的分划问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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问题描述给定当前的时间,请用英文的读法将它读出来。