蓝桥杯Java试题汇总

合集下载

蓝桥杯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历年真题及答案整理(共129道题目及答案)

蓝桥杯java历年真题及答案整理(共129道题目及答案)

1.字符排序算法是这样的,如果给定N个不同字符,将这N个字符全排列,最终的结果将会是N!种。

如:给定 A、B、C三个不同的字符,则结果为:ABC、ACB、BAC、BCA、CAB、CBA一共3!=3*2=6种情况。

package Question1_9;import java.util.Scanner;import java.util.Vector;public class Question1 {public static long count=0;private void fullPermutation(Vector<Character>sourse, Vector<Character> result) {if(sourse.size()==0){for (int i = 0; i < result.size(); i++) {System.out.print(result.elementAt(i));}System.out.print("\n");count++;return;}for (int i = 0; i < sourse.size(); i++) {Vector<Character>tsourse=new Vector<Character>(sourse);Vector<Character>tresult=new Vector<Character>(result);tresult.add(sourse.elementAt(i));tsourse.remove(i);new Question1().fullPermutation(tsourse, tresult);}}public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();Vector<Character> sourse=new Vector<Character>();Vector<Character> result=new Vector<Character>();for (int i = 0; i < n; i++) {sourse.add((char)('A'+i));}new Question1().fullPermutation(sourse, result);System.out.println(Question1.count);}}方法二:import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedHashSet;import java.util.List;import java.util.Scanner;import java.util.Set;public class Demo03 {// 去掉重复元素,放入lispublic static void removeDuplicate(String s,Set<Character> lis){for(char x:s.toCharArray()){lis.add(x);}}// 为方便操作将sets 转lispublic static void convert(List<Character> lis,Set<Character> sets){Iterator<Character> iter = sets.iterator();while(iter.hasNext()){lis.add(iter.next());}}// 检测符合条件的元素组合public static void check(Set<Character> sets){List<Character> lis = new ArrayList<Character>();convert(lis,sets); // 为方便操作将sets 转lisStringBuffer sb = new StringBuffer();for(int i=0;i<lis.size()-2;i++){for(int j=i+1;j+1<lis.size();j++){ // 向后添加两位,所以j+1<lis.size() for(int k=j+1;k<lis.size();k++){sb.append(lis.get(i));sb.append(lis.get(j));sb.append(lis.get(k));System.out.println(sb); // 输出组合sb.setLength(0); // 清空}}}}public static void main(String[] args){Scanner scan = new Scanner(System.in);System.out.println("输入串(不大于30个字符)。

第八届蓝桥杯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,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。

蓝桥杯JavaB历年竞赛真题详解

蓝桥杯JavaB历年竞赛真题详解

蓝桥杯JavaB历年竞赛真题详解
✌ 2021年第⼗⼆届省赛-题⽬+题解
题⽬序号名称题⽬类型分值
题⽬1结果填空5
题⽬2结果填空5
题⽬3结果填空10
题⽬4结果填空10
题⽬5结果填空15
题⽬6编程⼤题15
题⽬7编程⼤题20
题⽬8编程⼤题20
题⽬9编程⼤题25
题⽬10编程⼤题25✌ 2020年第⼗⼀届省赛-题⽬+题解
题⽬序号名称题⽬类型分值
题⽬1结果填空5
题⽬2结果填空5
题⽬3结果填空10
题⽬4结果填空10
题⽬5结果填空15
题⽬6编程⼤题15
题⽬7编程⼤题20
题⽬8编程⼤题20
题⽬9编程⼤题25
题⽬10编程⼤题25✌ 2019年第⼗届省赛-题⽬+题解
题⽬序号名称题⽬类型分值
题⽬1结果填空5
题⽬2结果填空5
题⽬3结果填空10
题⽬4结果填空10
题⽬5结果填空15
题⽬6编程⼤题15
题⽬7编程⼤题20
题⽬8编程⼤题20
题⽬9编程⼤题25
题⽬10编程⼤题25
题⽬10编程⼤题25✌ 2018年第九届省赛-题⽬+题解
题⽬序号名称题⽬类型分值
题⽬1结果填空5
题⽬2结果填空5
题⽬3结果填空10
题⽬4结果填空10
题⽬5结果填空15
题⽬6编程⼤题15
题⽬7编程⼤题20
题⽬8编程⼤题20
题⽬9编程⼤题25
题⽬10编程⼤题25。

第四届蓝桥杯省赛高职JAVA语言C组真题

第四届蓝桥杯省赛高职JAVA语言C组真题

第四届蓝桥杯省赛高职JAVA语言C组真题1.标题:猜年龄小明带两个妹妹参加元宵灯会。

别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。

小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。

”请你写出:小明的较小的妹妹的年龄。

注意:只写一个人的年龄数字,请通过浏览器提交答案。

不要书写任何多余的内容。

2.标题:等额本金小明从银行贷款3万元。

约定分24个月,以等额本金方式还款。

这种还款方式就是把贷款额度等分到24个月。

每个月除了要还固定的本金外,还要还贷款余额在一个月中产生的利息。

假设月利率是:0.005,即:千分之五。

那么,第一个月,小明要还本金1250, 还要还利息:30000 * 0.005,总计1400第二个月,本金仍然要还1250, 但利息为:(30000-1250) * 0.005 总计1393.75请问:小明在第15个月,应该还款多少(本金和利息的总和)?请把答案金额四舍五入后,保留两位小数。

注意:32.5,一定要写为:32.50通过浏览器提交答案,这是一个含有小数点和两位小数的浮点数字。

不要写多余内容(例如:多写了“元”或添加说明文字)4.骰子游戏标题:大衍数列中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。

它的前几项是: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);elseSystem.out.println((i*i-1)/2);}请填写划线部分缺失的代码。

通过浏览器提交答案。

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

5.标题:写日志写日志是程序的常见任务。

大学生蓝桥杯试题及答案

大学生蓝桥杯试题及答案

大学生蓝桥杯试题及答案一、选择题(每题2分,共20分)1. 在计算机科学中,通常用什么来表示一个算法的效率?A. 时间复杂度B. 空间复杂度C. 算法的可读性D. 算法的可维护性答案:A2. 下列哪种数据结构在插入和删除操作时不需要移动其他元素?A. 链表B. 数组C. 栈D. 队列答案:A3. 以下哪个选项是面向对象编程的三个基本特征?A. 封装、继承、多态B. 抽象、封装、继承C. 继承、封装、多态D. 封装、继承、抽象答案:A4. 在HTML中,用于定义最重要的标题的标签是什么?A. <h1>B. <h6>C. <title>D. <header>答案:A5. 在数据库管理系统中,用于从数据库中检索数据的SQL语句是?A. INSERTB. UPDATEC. DELETED. SELECT答案:D6. 在Java中,用于定义一个类的方法的关键字是什么?A. classB. methodC. functionD. public答案:D7. 在C语言中,用于声明一个变量为静态存储的关键字是什么?A. staticB. externC. registerD. auto答案:A8. 在Python中,用于定义一个函数的关键字是什么?A. defB. functionC. methodD. class答案:A9. 在操作系统中,用于管理进程的调度和资源分配的组件是什么?A. 文件系统B. 内存管理C. 进程管理器D. 设备驱动程序答案:C10. 以下哪个协议是用于在互联网上发送电子邮件的?A. HTTPB. FTPC. SMTPD. TCP答案:C二、填空题(每题2分,共20分)1. 在计算机科学中,________是用来衡量算法在最坏情况下执行时间的量度。

答案:时间复杂度2. 在数据结构中,________是一种允许在任意位置插入和删除数据的线性数据结构。

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

第六届蓝桥杯软件类省赛真题(Java B组)
对于60%的数据:n <= 100
对于100%的数据:0 < n <= 10^9, m <= 36
资源约定:
峰值内存消耗(含虚拟机)< 256M
CPU消耗< 2000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
{
int a = x[0]*1000 + x[1]*100 + x[2]*10 + x[3];
int b = x[4]*10000 + x[5]*1000 + x[6]*100 + x[7]*10 + x[8];
if(a*3==b) + " " + b);
}
public static void f(int[] x, int k)
public static void main(String[] args)
{
int[] x = {1,2,3,4,5,6,7,8,9};
f(x,0);
}
}
注意,只能填写缺少的部分,不要重复抄写已有代码。不要填写任何多余的文字。
6、加法变乘法
我们都知道:1+2+3+ ... + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
{
if(k>=x.length){
test(x);
return;
}
for(int i=k; i<x.length; i++){
{int t=x[k]; x[k]=x[i]; x[i]=t;}

第九届蓝桥杯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个,就吃掉并把⾃⼰的⼀份藏起来继续睡觉。

第四届蓝桥杯JAVA试题

第四届蓝桥杯JAVA试题
1
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组)第一部分:准备工作: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组试题及答案第七届蓝桥杯省赛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试题及答案

蓝桥杯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试题汇总-共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。

蓝桥杯高职java试题及部分参考答案

蓝桥杯高职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试题基础练习

蓝桥杯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本科组试题及答案

蓝桥杯模拟试题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分) 整数的分划问题。

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

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

第⼗届蓝桥杯JavaC组省赛真题试题 A: 求和本题总分:5 分【问题描述】⼩明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包括 1、2、9、10 ⾄ 32、39 和 40,共 28 个,他们的和是 574。

请问,在 1 到 2019 中,所有这样的数的和是多少?【答案提交】这是⼀道结果填空的题,你只需要算出结果后提交即可。

本题的结果为⼀个整数,在提交答案时只填写这个整数,填写多余的内容将⽆法得分//这道题没什么好说的for循环暴⼒破解public class qiuhe { //1905111public static void main(String[] args) {int count=0,temp=0;for (int i = 1; i <=2019; i++) {int b = i;temp=i;while(b!=0){int a = b%10;if(a==2 || a==0||a==1||a==9){count+=temp;break;}b/=10;}}System.out.println(count);}}试题 B: 矩形切割本题总分:5 分【问题描述】⼩明有⼀些矩形的材料,他要从这些矩形材料中切割出⼀些正⽅形。

当他⾯对⼀块矩形材料时,他总是从中间切割⼀⼑,切出⼀块最⼤的正⽅形,剩下⼀块矩形,然后再切割剩下的矩形材料,直到全部切为正⽅形为⽌。

例如,对于⼀块两边分别为 5 和 3 的材料(记为 5×3),⼩明会依次切出 3×3、2×2、1×1、1×1 共 4 个正⽅形。

现在⼩明有⼀块矩形的材料,两边长分别是 2019 和 324。

请问⼩明最终会切出多少个正⽅形?【答案提交】这是⼀道结果填空的题,你只需要算出结果后提交即可。

本题的结果为⼀个整数,在提交答案时只填写这个整数,填写多余的内容将⽆法得分。

//21个正⽅形这个纯⼿算就可以,当⼀个矩形开始切割正⽅形的时候,按照矩形的宽切割就能切割出最⼤的正⽅形,⼀直按照这个思路,然后继续切最后剩下的就是1*1的正⽅形package pany;import java.util.Scanner;public class 矩形切割 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int max = sc.nextInt();int min=sc.nextInt();int count=0,num,temp;while (true){if ( min==0){//当没有得时候就可以退出了break;}num = max/min;//看看当前长宽不变得时候有⼏个正⽅形count+=num; //把这些都加进来//替换⼀下,剪完正⽅形,之后,原来得长就变成了宽,原来的宽就成了长temp=max-min*num;//原来得长减去剪掉得⼏个宽,就是现在得宽max=min;}System.out.println(count);}}试题 C: 不同⼦串本题总分:10 分【问题描述】⼀个字符串的⾮空⼦串是指字符串中长度⾄少为 1 的连续的⼀段字符组成的串。

蓝桥杯练习系统题目汇总(含参考答案)

蓝桥杯练习系统题目汇总(含参考答案)

蓝桥杯练习系统题目汇总:入门训练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<stdlib.h>2.#include<stdio.h>3.#define MOD 100074.#define MAXN 10000015.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,求圆的面积。

  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问题描述给定当前的时间,请用英文的读法将它读出来。

相关文档
最新文档