第三届蓝桥杯全国软件大赛java本科组预赛答案完整版
蓝桥杯java历年真题及答案整理(共129道题目及答案)
蓝桥杯java历年真题及答案整理(参考网络资料整理出来)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个字符)。
第三届蓝桥杯全国软件大赛java高职组预赛题答案(全)
第三届蓝桥杯全国软件大赛java高职组预赛题答案(全)第三届全国软件大赛java高职预赛题答案(全)仅供参考!1.public class A1 {public static void main(String[] args){//答案为:3789.86double AB = 52.1,BC = 57.2,CD = 43.5,DE = 51.9,EA = 33.4,EB = 68.2,EC = 71.9;System.out.println(mianji(AB, EB, EA) + mianji(EB, BC, EC) + mianji(EC, CD, DE));}static double mianji(double a,double b,double c){double s = (a + b + c)/2;return Math.sqrt(s * (s - a)*(s -b)*(s - c));}}2.public class A2 {//答案:19550604 有点不确定供参考觉得算法没什么问题public static void main(String[] args) {int a[] = gbs();int i = 0;while(i <= a.length){if(String.valueOf(a[i]).contains("06")&&String.valueOf(a[i]).c ontains("19" ))System.out.println(a[i]);i++;}}static int[] gbs(){int d[] = new int[5030];int j = 0;for(int i = 10000;i * 2012 >= 10000000; i--){d[j] = i * 2012;j++;}return d;}}3.import java.math.BigInteger;public class A3 {//答案:36893488147419103231public static void main(String[] args) {// TODO Auto-generated method stubBigInteger sum = new BigInteger("1");BigInteger n = new BigInteger("2");BigInteger num = new BigInteger("1");for(int i = 1;i <= 64; i++){num = num.multiply(n);System.out.println(num);sum = sum.add(num);}System.out.println(" "+ sum.toString());}}4.public class A4 {// 答案: 20,5,4,2,0//18,9,3,2,0//12,6,4,2,0public static void main(String[] args) {// TODO Auto-generated method stubfor(int d = 20; d > 0; d--){for(int c = 20; c > 3; c--){for(int b = 20; b > 2; b--){for(int a = 20; a > 1; a--){double s;s = 1.0/d + 1.0/a + 1.0/b + 1.0/c;if(s == 1.0&&(a<b&&b<c&&c<d))< p="">{System.out.println(d + "," + c +"," + b+","+a+","+ "0"); }}}}}5.public class B1 {public static void main(String[] args){System.out.println(getFirstNum("hhdh212"));}public static int getFirstNum(String s){if(s==null || s.length()==0) return -1;char c = s.charAt(0);if(c>='0' && c<='9') returnInteger.parseInt(String.valueOf(c).toString()); //填空return getFirstNum(s.substring(2)); //填空}}6. import java.util.*;public class B2 {public static void main(String[] args){List a = new Vector();a.addAll(Arrays.asList("A","2","3","4","5","6","7","8","9","10"," J","Q","K "));System.out.println(moveCard(a));}public static List moveCard(List src)if(src==null) return null;List dst = new Vector();for(;;){if(src.size() == 0) break; // 填空src.add(src.remove(0));dst.add(src.remove(0)); // 填空}return dst;}}7. import java.util.*;public class B3{public static void main(String[] args){System.out.println( isGoodBracket("...(..[.)..].{.(..).}...")); System.out.println( isGoodBracket("...(..[...].(.).){.(..).}...")); System.out.println( isGoodBracket(".....[...].(.).){.(..).}...")); System.out.println( isGoodBracket("...(..[...].(.).){.(..)....")); }public static boolean isGoodBracket(String s){Stack a = new Stack();for(int i=0; i<="" p="">{char c = s.charAt(i);if(c=='(') a.push(')');if(c=='[') a.push(']');if(c=='{') a.push('}');if(c==')' || c==']' || c=='}'){if(a.size()==0) return false; // 填空if(a.pop() != c) return false;}}if(s.replace(".", "").length()%2 !=0) return false; // 填空return true;}}8.import java.util.Scanner;public class C1 {public static void main(String[] args) {// TODO Auto-generated method stubScanner scanner = new Scanner(System.in);int num = scanner.nextInt();int j = num;String[] strings = new String[num];for(int i = 0;i < num;i++){Scanner scanner1 = new Scanner(System.in); strings[i] = scanner1.nextLine();}while( num >0){System.out.println(score(strings[j - num]));num--;}}static int score(String s){int score = 0;int num[] = new int[4];char c[] = s.toCharArray();for(int i = 0;i < 4;i++){if(c[i] == '6'||c[i] == '9'||c[i] == '8')score = score + 1;num[i] = Integer.parseInt(String.valueOf(c[i]));}if((c[0] == c[1]&&c[0] == c[2])&&(c[1] == c[2]&&c[2] == c[3]))score = score + 6;else {if((c[0] == c[1]&&c[0] == c[2])||(c[1] == c[2]&&c[2] == c[3])) score = score + 3;}if((c[0] == c[1]&&c[2] == c[3])&&(c[0] == c[2]&&c[1] == c[3]))score = score + 2;else {if((c[0] == c[1]&&c[2] == c[3])||(c[0] == c[2]&&c[1] == c[3])) score = score + 1;}boolean a = (num[0]== num[1]-1 && num[1] == num[2] - 1 && num[2] == num[3] -1);boolean b = ( num[0]== num[1]+1 && num[1] == num[2] + 1 && num[2] == num[3] +1);if(a || b){score = score +5;}return score;}}9.import java.util.Scanner;public class C2 {public static void main(String[] args) {// TODO Auto-generated method stub Scanner scanner = new Scanner(System.in); int num = scanner.nextInt();int j = num;String[] strings = new String[num];for(int i = 0;i < num;i++){Scanner scanner1 = new Scanner(System.in); strings[i] = scanner1.nextLine();}while( num >0){System.out.println(mima(strings[j - num])); num--;}}static String mima(String s){char[] c = s.toCharArray();//int count = c.length/6;int sum[] = {0,0,0,0,0,0};int length = 0;if(c.length%6 == 0)length = c.length/6;else {length = c.length/6 +1;}int i = 0;int j = 0;//System.out.println(length);while (i < 6){if(i >= c.length%6&&j*6+i>=c.length)sum[i] = sum[i] + 0;else{sum[i] = sum[i] + c[j*6 + i];}j++;if(j == length){i++;j= 0;}}//System.out.println(sum[0]+" "+sum[1] + " " + sum[2]+ " " + sum[3]+ " " + sum[4]+ " " + sum[5]);int[] mima = new int[6];String mimastring = "";i = 0;for(int num:sum){mima[i] = getnum(num);mimastring = mimastring.concat(String.valueOf(mima[i])); i++;}return mimastring;}static int getnum(int sum){int num = 0;char[] c = String.valueOf(sum).toCharArray();int i =0;while( i < c.length){num += Integer.parseInt(String.valueOf(c[i]));if (num >= 10){num = getnum(num);}i++;}return num;}}10.public class C3 {public static void main(String[] args) {// TODO Auto-generated method stub//String string = "123+4+5+67-89";char a[] = {' ','+','-'};char num[] = {'1','2','3','4','5','6','7','8','9'}; for(char x1:a)for(char x2:a)for(char x3:a)for(char x4:a)for(char x5:a)for(char x6:a)for(char x7:a)for(char x8:a){int result = 0;char s[] ={x1,x2,x3,x4,x5,x6,x7,x8};String string = "";for(int i = 0;i<=7;i++){string =string+num[i]+s[i];}string =string+num[8];string=string.replaceAll(" ","");String jianString[] = string.split("-");int addResult[] = new int[jianString.length]; addResult[0] = 0;StringaddString[] = jianString[0].split("[+]");for(int j =0;j<addstring.length;j++)< p="">{ addResult[0] += Integer.parseInt(String.valueOf(addString[j]));}result = addResult[0];for(int i =1;i<jianstring.length;i++)< p="">{String num1[] = jianString[i].split("[+]");result = result - Integer.parseInt(String.valueOf(num1[0]));for(intp = 1;p<num1.length;p++)< p="">result += Integer.parseInt(String.valueOf(num1[p]));}if(result == 110) System.out.println(string);}}}</num1.length;p++)<></jianstring.length;i++)<></addstring.length;j++)<></b&&b<c&&c<d))<>。
第三届蓝桥杯预赛真题及详细答案
第三届蓝桥桥杯预赛真题及详细答案一、微生物增殖假设有两种微生物X 和YX出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。
一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。
现在已知有新出生的X=10, Y=89,求60分钟后Y的数目。
如果X=10,Y=90 呢?本题的要求就是写出这两种初始条件下,60分钟后Y的数目。
题目的结果令你震惊吗?这不是简单的数字游戏!真实的生物圈有着同样脆弱的性质!也许因为你消灭的那只Y 就是最终导致Y 种群灭绝的最后一根稻草!请忍住悲伤,把答案写在“解答.txt”中,不要写在这里!答案:0 和94371840(此题比较简单就不写程序了,以下均有程序)二、古堡算式福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!”于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把ABCDE 所代表的数字写出来。
答案写在“解答.txt”中,不要写在这里!参考答案:21978参考程序:#include<stdio.h>void main(){int k,t1 ,t;for(k=10234;k<50000;k++){bool flag[10]={0};t=k;t1=0;while(t){if(flag[t%10])break ;flag[t%10] = true ;t1 = t1*10 + t%10 ;t /= 10 ;}if( t==0 && t1%k==0){printf("%d * %d = %d\n",k,t1/k,t1);}}三、比酒量有一群海盗(不多于20人),在船上比拼酒量。
过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。
蓝桥杯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关键字来实现。
蓝桥杯java历年真题及答案整理(共129道题目及答案)
蓝桥杯java历年真题及答案整理(参考网络资料整理出来)1.字符排序算法是这样的,如果给定N个不同字符,将这N个字符全排列,最终的结果将会是N!种。
如:给定 A、B、C三个不同的字符,则结果为:ABC、ACB、BAC、BCA、CAB、CBA一共3!=3*2=6种情况。
package Question1_9;import ;import ;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++) {;}"\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);;}}方法二:import ;import ;import ;import ;import ;import ;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));; // 输出组合sb.setLength(0); // 清空}}}}public static void main(String[] args){Scanner scan = new Scanner(System.in);"输入串(不大于30个字符)。
大学生蓝桥杯试题及答案
大学生蓝桥杯试题及答案一、选择题(每题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试题及答案
蓝桥杯本科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预赛题及参考答案)
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本科答案
1.public class first {private static double result;public static void main(String[] args) {int i[] = new int[100];i[0] = 1;i(U = 3;String string2 ="for(int j = 2;j < 30;j++)i[j] = i[j~l] + i[j-2];result = (double)string2 = new Double(result).toString();System.out.print(i[j-l]+"/" + i[j]+n n);System.out.printin(string2);2.public class two {public static void main(String[] args) {// TODO Auto-generated method stubint a,b,c;int d = 20;b = 1;c = 1;double sum = 0;while(d>4)(for(a = 1;a <= d;a++)(b = a+1; while(b<d-l)for(char x6:a)for(char x7:a)for(char x8:a)int result = 0;char s(] = {xl,x2,x3,x4,x5,x6,x7,x8};String string ="for(int i = 0;i<= 7;i++)(string = string+num[i]+s[i];}string = string+num[8];string= string.replaceAll("String jianString[] = string.split;int addResult[] = new int[jianString.length];addResult[0] = 0;String addString[] = jianString[0].split("[+]");for(int j = 0;j<addString.length;j++)(addResult[0] +=Integer.parselnt(String.valueOf(addString[j]));)result = addResult[0];for(int i = 1;i<jianString.length;i + + )(String numl[] = jianString[i].split("[+]");result = result -Integer.parselnt(String.valueOf(numl[0]));for(int p = l;p<numl.length;p++)result += Integer.parseint(String.valueOf(numl[p])); }if(result == 110)System.out.printin(string)3.import java.util.Scanner;public class C33 (public static void main(String[] args)(int num[] = getNum();int d = gcd(num [1] r num⑵);//中瓶^口小瓶容量的最大公约数if(num[0]/2 <= num(l] + num[2] && (num[0]/2)%d == 0){System, out .printIn (num[3] + " '* + num[4 ] + " " + num [5]);fenjiu(num[3], num[4], num(5],num);}else(System, out.printin ("不彳亍能");}}static int[] getNum()(Scanner readerscanner = new Scanner(System.in);String string[] = readerscanner.nextLine () .split ;int i = 0;int num[] = new int[7];while(i < 7)(num[i] = Integer.parselnt(string[i]);i++;}return num;}static void fenj iu(int numl,int num2,int num3,int num[])(//C2*X - C3*Y = 1int bl = num[1],cl = num[2];int a = numl,b = num2,c = num3,result = num[6];if (b == result| |c == result| |a == result) System.out.print("u);〃12,8,5,12,0,0,6// 1.大瓶子只能倒入中瓶子// 2.中瓶子只能倒入小瓶子// 3.小瓶子只能倒入大瓶子// 4.小瓶子只有在已经装满的状况下才能倒入大瓶// 5.若小瓶子被倒空,则无论中瓶子是否满,应马上从中瓶子倒入小瓶子if(c == cl){// 4 .小瓶子只有在已经装满的状况下才能倒入大瓶子a = a + c;c = 0;System.out.printIn(a + " " + b + " " + c);fenjiu(a, b, c, num);}else {if(c == 0 && b > 0)(// 5.若小瓶子被倒空,则无论中瓶子是否满,应马上从中瓶子倒入小瓶子if (b > cl)(c = cl;b = b - cl;System.out.printIn(a + " " + b + " " + c);fenjiu(a, b, c, num);}else {c = b;b = 0;System.out.printin(a + " " + b + " " + c);fenjiu(a, b, c, num);}else (if(b != bl)a - bl + b;b = bl;System.out.printIn(a + " " + b + " " + c);fenjiu(a, b, c, num);}else {b = b - cl + c;c = cl;System.out.printin(a + " " + b + " " + c);fenjiu(a, b, c, num);}}}}}public static int gcd(int m,int n)int a = n z b = m;while (true)if ((a = a % b) == 0)return b;if ( (b = b % 0)return a;本答案仅供参考,如有不同意见属正常。
蓝桥杯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) {
第三届ITAT大赛Java程序预赛试题+答案
第三届ITAT大赛Java程序预赛试题一、单选题1、Java JDK中调试器的命令是()。
A、javacB、javaC、jdbD、avah解答:C知识点列表:2.1 JAVA虚拟机、特点及JAVA运行系统2、运行jar文件中class文件需要在java命令后面加的参数为()。
A、-cp B-g C-d D-verbose解答:A知识点列表:2.2Java Applet程序、Application程序的编辑、编译和运行。
3、下面哪项在java中是不合法的标识符?()A、$userB、pointC、You&meD、_endline解答:C知识点列表:3.4Java 语言变量、常量的使用及其运算操作。
4、下列哪一项不是Java保留字?()A、sizeofB、superC、abstractD、break解答:A知识点列表:3.4Java 语言变量、常量的使用及其运算操作。
5、下列哪个布局管理器中的按钮位置有可能会根据Frame的大小改变而改变?()A、BorderLayoutB、CardLayoutC、GridLayoutD、FlowLayout解答:D知识点列表: 7.1 Java 常用的布局策略及主要容器组件;图形界面的基本构成;6、下面哪些java语句会导致无限循环?()I、while (true) i = 0;II、while (false) i = 1;III、 while (!false) i = 0;A、III onlyB、I and III onlyC、I onlyD、I, II and III解答:B知识点列表:3.5Java 语言流程控制语句的功能及使用。
7、下面是Example.java文件的完整代码,请找出会产生编译错误的行()。
1) class BaseClass {2) public String str;3) public BaseClass(){4) System.out.println(“ok”);}5) public BaseClass(String s){6) str=s;}}7) class SubClass extends BaseClass{8) }9) public class Example{10) public void method(){11) SubClass s=new SubClass(“hello”);12) BaseClass b=new BaseClass(“world”);13) }14) }A、7B、10C、11D、12解答:C知识点列表:5.3java类的构造函数以及Java 父类与子类、域继承和方法继承的操作过程。
第三届蓝桥杯软件大赛决赛样题与规则
第三届“蓝桥杯”软件大赛-决赛规则:2012-4-11/Article/ShowArticle.asp?ArticleID=2851. 组别划分2. 时间3.形式4. 参赛选手机器环境5. 题目形式6. 涉及知识 7. 评分8. 答题形式注意(重要) 9. 样题10. 注意事项1. 组别划分竞赛分为:高职高专c/c++,高职高专java,本科c/c++,本科java 共4个组别。
每位选手只能参加其中一个组别的竞赛。
2. 时间赛程:4小时,全程封闭。
c/c++本科为上午。
其它组别为下午。
具体时间以准考证为准。
3.形式全程机考。
选手机器通过局域网连接到决赛服务器。
以服务器-浏览器方式发放试题、提交结果。
4. 参赛选手机器环境机器配置 X86 兼容机器,内存不小于1G,硬盘不小于60G Windows NT 内核系统(WindowsXP, Windows2000等)c/c++ 开发环境:Visual C++ 6.0 (英文,精简版) 支持ANSI C++ 标准支持STL 不支持 MFC,ATL类库帮助文档(英文,chm格式) Borland C++ 3.1 (精简版) Java 开发环境 JDK 1.5 Eclipse Helios for JavaSE JCreator 2.0 API 帮助文档(英文,中文,chm格式)5. 题目形式竞赛题目完全为客观题型,选手所提交程序的运行结果为主要评分依据。
(1)填空题题目为若干具有一定难度梯度、分值不等的结果填空题或代码完善填空题。
结果填空题题目描述一个具有确定解的问题。
要求选手对问题的解填空。
代码填空题题目描述一个具有确定解的问题。
题目同时给出解决该问题的代码,但其中有缺失部分。
要求选手读懂代码逻辑,对其中的空缺部分补充代码,使整段代码完整。
(2)编程题题目为若干具有一定难度梯度、分值不等的编程题目。
这些题目的要求明确、答案客观。
题目一般要用到标准输入和输出。
蓝桥杯java试题及答案
蓝桥杯java试题及答案【篇一:蓝桥杯java历年真题(共129道题目及答案)】这样的,如果给定n个不同字符,将这n个字符全排列,最终的结果将会是n!种。
如:给定a、b、c三个不同的字符,则结果为:abc^ acb、bac、bca、cab> cba—共3!=3*2=6 种情况。
package questiord_9;〃有问题。
-广import java.util.scan ner;import java.util.vector;public class questiord {public static long count=0;private void fullpermutation(vectorcharactersourse, vectorcharacter 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++) { vectorcharactertsourse=new vectorcharacter(sourse); vectorcharactertresult=new vectorcharacter( result); tresult.add(sourse.elementat(i)); tsourse.remove(i);new question1().fullpermutation(tsourse, tresult);}}public static void main(stringQ args) { scanner seanner=new scanner(system」n); int n=scanner.nextint();vectorcharacter sourse=new vectorcharacter(); vectorcharacter result=new vectorcharacter();for (int i = 0; i n; i++) {sourse.add((char)(a-i-i));}new questiord().fullpermutation(sourse, result); system.out. pri ntln (questionl.count);}}*/方法二import java.util.arraylist;import java.util.iterator;import java.util」inkedhashset;import java.util.list;import java.util.sca nn er;import java.util.set;public class demo03 {II去掉重复元素,放入lispublic static void removeduplicate(string s,setcharacter lis){ for(char x:s.tochararray()){ lis.add(x);}}II为方便操作将sets转lispublic static void convert(listcharacter lis,setcharactersets){ iteratorcharacter iter = sets.iterator();while(iter.hasnext()){ lis.add(iter.next());II检测符合条件的元素组合public static void check(setcharacter sets){ listcharacter lis = new arraylistcharacter(); convert(lis,sets); II为方便操作将sets 转lis stringbuffer sb = new stringbuffer();for(int i=0;ilis.size()-2;i++){for(int j=i+1 ;j+1 lis.size();j++){// 向后添加两位,所以j+1 lis.size() for(int k=j+1;klis.size();k++){sb.appe nd(lis.get(i)); sb.append(lis.get(j)); sb.append(lis.get(k)); system.out.println(sb); II输出组合sb.setlength(O); II清空}}}}public static void main(string[] args){scanner scan = new scanner(system.in); system.out.println(输入串(不夭于30个李符)。
蓝桥杯预赛题目与答案
蓝桥杯预赛题目1第一题标题:啤酒和饮料啤酒每罐2.3元,饮料每罐1.9元。
小明买了若干啤酒和饮料,一共花了82.3元。
我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。
注意:答案是一个整数。
请通过浏览器提交答案。
不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。
#include <stdio.h>void main() { int pj,yl; //啤酒与饮料double sum=82.3; for(pj=0; pj<=20; pj++) { yl=(int)((sum-pj*2.3)/1.9); if(pj*2.3+yl*1.9==sum) { printf("pj=%d,yl=%d\n",pj,yl); //pj=11 yl=30 } } }第二题标题:切面条一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。
不要填写任何多余的内容。
#include <stdio.h> void main(){ int qie(int n); int g(int n); int sum=0; //面条总数int n=10; sum=qie(n); printf("%d\n",sum); }int qie(int n) //折叠n次以后,切一刀后的面条数{ int g(int n); if(n==1) { return 3; } else { return g(n-1)+ qie(n-1); //g(n)是有所有面条都有折痕一边的面条数} }int g(int n) { if(n==1) { return 2; } else { return g(n-1)*2; } }-----1025第三题标题:李白打酒话说大诗人李白,一生好饮。
蓝桥杯软件java本科答案
1.public class first {private static double result;public static void mainString args {int i = new int100;i0 = 1;i1 = 3;String string2 = "";forint j = 2;j < 30;j++{ij = ij-1 + ij-2;result = double ij-1/ij;string2 = new Double result.toString;System.out.printij-1+"/"+ij+" ";System.out.printlnstring2;}}}2.public class two {public static void mainString args {// TODO Auto-generated method stubint a;b;c;int d = 20;b = 1;c = 1;double sum = 0;while d>4{for a = 1;a <= d;a++{b = a+1;while b<d-1{c = b+1;while c <= d-1{sum = 1.0/d+1.0/a +1.0/b +1.0/c;//System.out.printlnsum;if sum == 1System.out.printlnd+" "+a+" "+b+" "+c;// System.out.print"\n";c++;}b++;}}d--;}}}3.public class three {public static void mainString args{double a = new double65;a0 = 1;a1 = 1;a2 = 3;a3 = 7;forint i = 4;i <= 64 ; i++ai = ai-12 + 1;System.out.println"结果为:"+a64;}}4.public class four {static int score = 10;public static void mainString args {int a = {0;1}; //对或错1、0int i = 0;forint x1:aforint x2:aforint x3:aforint x4:aforint x5:aforint x6:aforint x7:aforint x8:aforint x9:aforint x10:a{ int result = {x1;x2;x3;x4;x5;x6;x7;x8;x9;x10};forint z=0;z<=9;z++{if resultz==1score = right z+1;elsescore = wrong z+1;}if score == 100{forint q = 0;q<=9;q++{System.out.printresultq;}System.out.println;}i++;}static int right int num{if num == 1score = 10;score = score2;return score;}static int wrong int num{if num == 1score = 10;score = score - num;return score;}}代码填空题:1.import java.util.Scanner;public class B21 {public static void mainString args {// TODO Auto-generated method stubScanner reader = new ScannerSystem.in;String string = reader.nextLine;System.out.println getFirstNum string;}public static int getFirstNumString s{if s==null || s.length==0return -1;char c = s.charAt0;if c>='0' && c<='9'return Integer.parseInt String.valueOf c; //填空return getFirstNum s.substring1; //填空}2.public class B22 {public static void mainString args{System.out.println"标准 " + Math.PI;double a = 1;int n = 6;forint i=0; i<10; i++{double b = Math.sqrt1-a/2a/2;a = Math.sqrt1-b1-b + a/2a/2;n =2n; //填空System.out.printlnn + " " +an/2; // 填空}}}3.import java.util.;public class B23{public static List<Integer> max5List<Integer> lst{if lst.size<=5 return lst;int a = lst.removelst.size - 1; // 填空//System.out.printlna;List<Integer> b = max5lst;//List<Integer> b = lst;forint i=0; i<b.size; i++{int t = b.geti;if a>t{b.seti; a; // 填空// b.removei;// b.adda;a = t;}}return b;}public static void mainString args{List<Integer> lst = new Vector<Integer>;lst.addAllArrays.asList12;127;85;66;27;34;15;344;156;344;29;47;System.out.println max5lst;}}程序题:1.import java.util.Scanner;public class C1 {public static void mainString args {// TODO Auto-generated method stubScanner reader = new ScannerSystem.in;String s1 = reader.nextLine;String s2 = reader.nextLine;int x = getX s1; s2;int y = getY s1; s2;int a = x;int b = y;union a; b;System.out.println minX x+";"+minX y+";"+maxX x-minX x+";"+maxX y-minX y;}static void union int x;int y{int a= new int4;int b = new int4;forint i = 0;i<4;i++{ai = xi;}int uX = secondMin a;boolean xb = uX<=Math.max x0;x1&&uX>=Math.min x1;x0&&uX<=Math.max x2;x3&&uX>=Math.min x2; x3;forint i = 0;i<4;i++{bi = yi;}int uY = secondMin b;boolean yb = uY<=Math.max y0;y1&&uY>=Math.min y1;y0&&uY<=Math.max y2;y3&&uY>=Math.min y2; y3;if xb&&yb&&a1-a2=0&&b1-b2=0{System.out.printlnuX+";"+uY+";"+a1-a2+";"+b1-b2;}else {System.out.println"不存在";}}static int getXString s1;String s2{String ss1 = s1.split";";String ss2 = s2.split";";int xy = new int4;xy0 = Integer.parseInt ss10;xy1 = Integer.parseInt ss12;xy2 = Integer.parseInt ss20;xy3 = Integer.parseInt ss22;return xy;}static int getYString s1;String s2 {String ss1 = s1.split";";String ss2 = s2.split";";int xy = new int4;xy0 = Integer.parseInt ss11;xy1 = Integer.parseInt ss13;xy2 = Integer.parseInt ss21;xy3 = Integer.parseInt ss23;return xy;}static int maxX int x{int temp;forint i = 0;i <= 2;i++{if xi>xi+1{temp = xi;xi = xi+1;xi+1 = temp;}}return x3;}static int minX int x{int temp;forint i = 0;i <= 2;i++{if xi<xi+1{temp = xi;xi = xi+1;xi+1 = temp;}}return x3;}static int secondMin int x{int temp;forint i = 0;i<3;i++forint j = 0;j<x.length-i-1;j++{if xj<xj+1{temp = xj;xj = xj+1;xj+1 = temp;}}return x2;}}2.public class C2 {public static void mainString args {// TODO Auto-generated method stub//String string = "123+4+5+67-89";char a = {' ';'+';'-'};char num = {'1';'2';'3';'4';'5';'6';'7';'8';'9'};forchar x1:aforchar x2:aforchar x3:aforchar x4:aforchar x5:aforchar x6:aforchar x7:aforchar x8:a {int result = 0;char s = {x1;x2;x3;x4;x5;x6;x7;x8};String string = "";forint i = 0;i<= 7;i++{string = string+numi+si;}string = string+num8;string= string.replaceAll" ";"";String jianString = string.split"-";int addResult = new int jianString.length;addResult0 = 0;String addString = jianString0.split"+";forint j = 0;j<addString.length;j++{addResult0 += Integer.parseInt String.valueOf addStringj;}result = addResult0;forint i = 1;i<jianString.length;i++{String num1 = jianStringi.split"+";result = result - Integer.parseInt String.valueOf num10;forint p = 1;p<num1.length;p++result += Integer.parseInt String.valueOf num1p;}if result == 110System.out.printlnstring}}}3.import java.util.Scanner;public class C33 {public static void mainString args{int num = getNum;int d = gcd num1; num2;//中瓶和小瓶容量的最大公约数if num0/2 <= num1 + num2 && num0/2%d == 0{System.out.printlnnum3 + " " + num4 + " " + num5;fenjiu num3; num4; num5;num;}else{System.out.println"不可能";}}static int getNum{Scanner readerScanner = new ScannerSystem.in;String string = readerScanner.nextLine.split";";int i = 0;int num = new int7;while i < 7{numi = Integer.parseInt stringi;i++;}return num;}static void fenjiu int num1;int num2;int num3;int num{//C2X - C3Y = 1int b1 = num1;c1 = num2;int a = num1;b = num2;c = num3;result = num6;if b == result||c == result||a == resultSystem.out.print"";else {//12;8;5;12;0;0;6// 1. 大瓶子只能倒入中瓶子// 2. 中瓶子只能倒入小瓶子// 3. 小瓶子只能倒入大瓶子// 4. 小瓶子只有在已经装满的情况下才能倒入大瓶// 5. 若小瓶子被倒空;则无论中瓶子是否满;应马上从中瓶子倒入小瓶子if c == c1{// 4. 小瓶子只有在已经装满的情况下才能倒入大瓶子a = a + c;c = 0;System.out.printlna + " " + b + " " + c;fenjiu a; b; c; num;}else {if c == 0 && b > 0{// 5. 若小瓶子被倒空;则无论中瓶子是否满;应马上从中瓶子倒入小瓶子if b > c1{c = c1;b = b - c1;System.out.printlna + " " + b + " " + c;fenjiu a; b; c; num;}else {c = b;b = 0;System.out.printlna + " " + b + " " + c;fenjiu a; b; c; num;}}else {if b = b1{a = a - b1 + b;b = b1;System.out.printlna + " " + b + " " + c;fenjiu a; b; c; num;}else {b = b - c1 + c;c = c1;System.out.printlna + " " + b + " " + c;fenjiu a; b; c; num;}}}}}public static int gcd int m; int n{int a = n; b = m;while true{if a = a % b == 0return b;if b = b % a == 0return a;}}}本答案仅供参考;如有不同意见属正常..希望本答案对您的学习有帮助谢谢参阅。
第三届蓝桥杯全国选拔赛答案解析
第一题:微生物增殖#include <cstdio>int main(){long int X=10, Y=90;for(int k=1; k<=120; k++)//半分钟一个单位{if(k%2==1)Y -= X;//因为X出生半分钟后就要吃Y,尔后每1分钟要吃Y,所以永远都是奇数个半分钟的时候吃Y,又因为此时X不会增长(题目为了减小讨论的复杂度),所以直接减X数量即可。
if(k%4==0)Y *= 2;//每2分钟翻倍if(k%6==0)X *= 2;//每3分钟翻倍,X和Y的翻倍是相互独立的,不需要另作讨论。
}printf("%d", Y);return 0;}第二题:古堡算式#include <cstdio>int main(){long int X=10, Y=90;for(int k=1; k<=120; k++)//半分钟一个单位{if(k%2==1)Y -= X;//因为X出生半分钟后就要吃Y,尔后每1分钟要吃Y,所以永远都是奇数个半分钟的时候吃Y,又因为此时X不会增长(题目为了减小讨论的复杂度),所以直接减X数量即可。
if(k%4==0)Y *= 2;//每2分钟翻倍if(k%6==0)X *= 2;//每3分钟翻倍,X和Y的翻倍是相互独立的,不需要另作讨论。
}printf("%d", Y);return 0;}第三题:比酒量#include <cstdio>#define MAX 20int n, m; //n个海盗,m轮后全体倒下,船长喝了t瓶酒double drink[MAX], t; //记录船长每轮喝的酒量void dfs(int x, int y)if(y <= 0){double sum = 0.0;for(int i = 1; i <= m; i++)sum += drink[i];double dif = sum - t;if(dif < 0.0) dif = -dif;if(dif < 0.000001){for(int i = m; i > 0; i--)printf("%d ", (int)(1.0 / drink[i]));printf("\n");}return;}if(x <= 0) return;drink[y] = 1.0 / x;for(int i = 1; i < x; i++)dfs(x - i, y - 1);}int main(){m = 4; //喝了四轮t = 1.0; //船长喝了一瓶酒for(n = 20; n >= 1; n--)dfs(n, m);return 0;}第四题:奇怪的比赛#include <cstdio>#define MAX 20int n, m; //n个海盗,m轮后全体倒下,船长喝了t瓶酒double drink[MAX], t; //记录船长每轮喝的酒量void dfs(int x, int y){if(y <= 0){double sum = 0.0;for(int i = 1; i <= m; i++)sum += drink[i];double dif = sum - t;if(dif < 0.0) dif = -dif;if(dif < 0.000001){for(int i = m; i > 0; i--)printf("%d ", (int)(1.0 / drink[i]));printf("\n");}return;}if(x <= 0) return;drink[y] = 1.0 / x;for(int i = 1; i < x; i++)dfs(x - i, y - 1);}int main(){m = 4; //喝了四轮t = 1.0; //船长喝了一瓶酒for(n = 20; n >= 1; n--)dfs(n, m);return 0;}第五题:转方阵sizeof(int)*rank*rankrank*(i%rank) + rank-i/rank-1第六题:大数乘法n3/base+n2/base+n4%baser[2]/base第七题:放棋子NumRow!=3 || NumCol!=3f(x,r,c+1)x[r][c]==1第八题:密码发生器#include <cstdio>#include <cstring>#define MAX 1005long num[6];char tmp[MAX];int main(){int t;scanf("%d", &t);while(t){memset(num, 0, sizeof num);fgets(tmp, MAX, stdin);if(tmp[0] == '\n' || strlen(tmp) == 0) continue;for(int i = 0; tmp[i] != 0 && tmp[i] != '\n'; i++){num[i%6] += tmp[i];}for(int j = 0; j < 6; j++){int t = num[j] % 9;printf("%d", t ? t : 9);}putchar('\n');--t;}return 0;}第八题:密码发生器#include <cstdio>#include <cstring>#define MAX 1005long num[6];char tmp[MAX];int main(){int t;scanf("%d", &t);while(t){memset(num, 0, sizeof num);fgets(tmp, MAX, stdin);if(tmp[0] == '\n' || strlen(tmp) == 0) continue;for(int i = 0; tmp[i] != 0 && tmp[i] != '\n'; i++){num[i%6] += tmp[i];}for(int j = 0; j < 6; j++){int t = num[j] % 9;printf("%d", t ? t : 9);}putchar('\n');--t;}return 0;}第九题:夺冠概率#include <cstdio>#include <stdlib.h>#include <time.h>#define COUNT 100000const int g = 0;double P[4][4] = {{0, 0.1, 0.3, 0.5}, {0.9, 0, 0.7, 0.4},{0.7, 0.3, 0, 0.2},{0.5, 0.6, 0.8, 0}};int main(){srand((unsigned)time(NULL));double sum = 0.0;for(int k = 1; k <= COUNT; k++){int x = g, y = g, z = g;while(x == g) x = rand() % 4;//while(y==g || y==x) y=rand()%4; //此处的生成y的方法和下面的方法有轻微差异for(int ii = 0; ii < 4 && (ii == g || ii == x); )++ii; //约有0.001的浮动,推荐用下面这个方法y = ii;for(int i = 0; i < 4 && (i == g || i == x || i == y); )++i;z = i;double r = 1 - (P[x][g] + P[g][x] * (P[y][z] * P[y][g] + P[z][y] * P[z][g]));sum += r;}printf("%lf\n", sum / COUNT);return 0;}第十题:#include <stdio.h>#include <string.h>int a[10001];int b[4] = {1, 3, 7, 8};int main(){int i, n, j;memset(a, 0, sizeof a); //初始化判定数组为0a[0] = 1; //说明对方取完了最后一堆,那么自己胜利for(i = 1; i <= 10000; i++)for(j = 0; j < 4; j++)if(i - b[j] >= 0){if(a[i-b[j]] == 0) //有取法能致使对方输,那么自己就要赢{a[i] = 1;break;}}scanf("%d", &n);while(n--){scanf("%d", &i);printf("%d\n", a[i]);}return 0;}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三届蓝桥杯软件大赛java本科组预赛完整答案(完整) 本答案仅供参考,如有不同意见属正常。
希望本文对您的学习有帮助!谢谢参阅!结果填空题1.public class first {private static double result;public static void main(String[] args) {int i[] = new int[100];i[0] = 1;i[1] = 3;String string2 = "";for(int j = 2;j < 30;j++){i[j] = i[j-1] + i[j-2];result = (double)i[j-1]/i[j];string2 = new Double(result).toString();System.out.print(i[j-1]+"/"+i[j]+" ");System.out.println(string2);}}}2.public class two {public static void main(String[] args) {// TODO Auto-generated method stubint a,b,c;int d = 20;b = 1;c = 1;double sum = 0;while(d>4){for(a = 1;a <= d;a++){b = a+1;while(b<d-1){c = b+1;while(c <= d-1){sum = 1.0/d+1.0/a +1.0/b +1.0/c;//System.out.println(sum);if(sum == 1)System.out.println(d+" "+a+" "+b+" "+c);// System.out.print("\n");c++;}b++;}}d--;}}}3.public class three {public static void main(String[] args){double a[] = new double[65];a[0] = 1;a[1] = 1;a[2] = 3;a[3] = 7;for(int i = 4;i <= 64 ; i++)a[i] = a[i-1]*2 + 1;System.out.println("结果为:"+a[64]);}}4.public class four {static int score = 10;public static void main(String[] args) {int a[] = {0,1}; //对或错1、0int i = 0;for(int x1:a)for(int x2:a)for(int x3:a)for(int x4:a)for(int x5:a)for(int x6:a)for(int x7:a)for(int x8:a)for(int x9:a)for(int x10:a) { int result[] = {x1,x2,x3,x4,x5,x6,x7,x8,x9,x10};for(int z=0;z<=9;z++){if(result[z]==1)score = right(z+1);elsescore = wrong(z+1);}if(score == 100){for(int q = 0;q<=9;q++){System.out.print(result[q]);}System.out.println();} i++;}}static int right(int num){if(num == 1)score = 10;score = score*2;return score;}static int wrong(int num){if(num == 1)score = 10;score = score - num;return score;}}代码填空题:1.import java.util.Scanner;public class B21 {public static void main(String[] args) {// TODO Auto-generated method stubScanner reader = new Scanner(System.in);String string = reader.nextLine();System.out.println(getFirstNum(string));}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 Integer.parseInt(String.valueOf(c)); //填空return getFirstNum(s.substring(1)); //填空}}2.public class B22 {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 =2*n; //填空System.out.println(n + " " +a*n/2); // 填空}}}3.import java.util.*;public class B23{public static List<Integer> max5(List<Integer> lst){if(lst.size()<=5) return lst;int a = lst.remove(lst.size() - 1); // 填空//System.out.println(a);List<Integer> b = max5(lst);//List<Integer> b = lst;for(int i=0; i<b.size(); i++){int t = b.get(i);if(a>t){b.set(i, a); // 填空// b.remove(i);// b.add(a);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));}}程序题:1.import java.util.Scanner;public class C1 {public static void main(String[] args) {// TODO Auto-generated method stubScanner reader = new Scanner(System.in);String s1 = reader.nextLine();String s2 = reader.nextLine();int x[] = getX(s1, s2);int y[] = getY(s1, s2);int a[] = x;int b[] = y;union(a, b);System.out.println(minX(x)+","+minX(y)+","+(maxX(x)-minX(x))+","+(maxX(y)-minX(y)));}static void union(int x[],int y[]){int a[]= new int[4];int b[] = new int[4];for(int i = 0;i<4;i++){a[i] = x[i];}int uX = secondMin(a);boolean xb = (uX<=Math.max(x[0],x[1])&&uX>=Math.min(x[1],x[0]))&&(uX<=Math.max(x[2],x[3])&&uX>=Math.min(x[2],x[3]));for(int i = 0;i<4;i++){b[i] = y[i];}int uY = secondMin(b);boolean yb = (uY<=Math.max(y[0],y[1])&&uY>=Math.min(y[1],y[0]))&&(uY<=Math.max(y[2],y[3])&&uY>=Math.min(y[2],y[3]));if(xb&&yb&&((a[1]-a[2])!=0&&(b[1]-b[2])!=0)){System.out.println(uX+","+uY+","+(a[1]-a[2])+","+(b[1]-b[2]));}else {System.out.println("不存在");}}static int[] getX(String s1,String s2) {String ss1[] = s1.split(",");String ss2[] = s2.split(",");int xy[] = new int[4];xy[0] = Integer.parseInt(ss1[0]);xy[1] = Integer.parseInt(ss1[2]);xy[2] = Integer.parseInt(ss2[0]);xy[3] = Integer.parseInt(ss2[2]);return xy;}static int[] getY(String s1,String s2) {String ss1[] = s1.split(",");String ss2[] = s2.split(",");int xy[] = new int[4];xy[0] = Integer.parseInt(ss1[1]);xy[1] = Integer.parseInt(ss1[3]);xy[2] = Integer.parseInt(ss2[1]);xy[3] = Integer.parseInt(ss2[3]);return xy;}static int maxX(int x[]){int temp;for(int i = 0;i <= 2;i++){if(x[i]>x[i+1]){temp = x[i];x[i] = x[i+1];x[i+1] = temp;}}return x[3];}static int minX(int x[]){int temp;for(int i = 0;i <= 2;i++){if(x[i]<x[i+1]){temp = x[i];x[i] = x[i+1];x[i+1] = temp;}}return x[3];}static int secondMin(int x[]){int temp;for(int i = 0;i<3;i++)for(int j = 0;j<x.length-i-1;j++){if(x[j]<x[j+1]){temp = x[j];x[j] = x[j+1];x[j+1] = temp;}}return x[2];}}2.public class C2 {public static void main(String[] args) {// TODO Auto-generated method stub//String string = "123+4+5+67-89";char a[] = {' ','+','-'};char num[] = {'1','2','3','4','5','6','7','8','9'};for(char x1:a)for(char x2:a)for(char x3:a)for(char x4:a)for(char x5:a)for(char x6:a)for(char x7:a)for(char x8:a){int result = 0;char s[] = {x1,x2,x3,x4,x5,x6,x7,x8};String string = "";for(int i = 0;i<= 7;i++){string = string+num[i]+s[i];}string = string+num[8];string= string.replaceAll(" ","");String jianString[] = string.split("-");int addResult[] = new int[jianString.length];addResult[0] = 0;String addString[] = jianString[0].split("[+]");for(int j = 0;j<addString.length;j++){addResult[0] +=Integer.parseInt(String.valueOf(addString[j]));}result = addResult[0];for(int i = 1;i<jianString.length;i++){String num1[] = jianString[i].split("[+]");result = result -Integer.parseInt(String.valueOf(num1[0]));for(int p = 1;p<num1.length;p++)result += Integer.parseInt(String.valueOf(num1[p]));}if(result == 110)System.out.println(string)}}}3.import java.util.Scanner;public class C33 {public static void main(String[] args){int num[] = getNum();int d = gcd(num[1], num[2]);//中瓶和小瓶容量的最大公约数if(num[0]/2 <= num[1] + num[2] && (num[0]/2)%d == 0){System.out.println(num[3] + " " + num[4] + " " + num[5]);fenjiu(num[3], num[4], num[5],num);}else{System.out.println("不可能");}}static int[] getNum(){Scanner readerScanner = new Scanner(System.in);String string[] = readerScanner.nextLine().split(",");int i = 0;int num[] = new int[7];while(i < 7){num[i] = Integer.parseInt(string[i]);i++;}return num;}static void fenjiu(int num1,int num2,int num3,int num[]){//C2*X - C3*Y = 1int b1 = num[1],c1 = num[2];int a = num1,b = num2,c = num3,result = num[6];if(b == result||c == result||a == result)System.out.print("");else {//12,8,5,12,0,0,6// 1. 大瓶子只能倒入中瓶子// 2. 中瓶子只能倒入小瓶子// 3. 小瓶子只能倒入大瓶子// 4. 小瓶子只有在已经装满的情况下才能倒入大瓶// 5. 若小瓶子被倒空,则无论中瓶子是否满,应马上从中瓶子倒入小瓶子if(c == c1){// 4. 小瓶子只有在已经装满的情况下才能倒入大瓶子a = a + c;c = 0;System.out.println(a + " " + b + " " + c);fenjiu(a, b, c, num);}else {if(c == 0 && b > 0){// 5. 若小瓶子被倒空,则无论中瓶子是否满,应马上从中瓶子倒入小瓶子if(b > c1){c = c1;b = b - c1;System.out.println(a + " " + b + " " + c);fenjiu(a, b, c, num);}else {c = b;b = 0;System.out.println(a + " " + b + " " + c);fenjiu(a, b, c, num);}}else {if(b != b1){a = a - b1 + b;b = b1;System.out.println(a + " " + b + " " + c);fenjiu(a, b, c, num);}else {b = b - c1 + c;c = c1;System.out.println(a + " " + b + " " + c);fenjiu(a, b, c, num);}}}}}public static int gcd(int m, int n){int a = n, b = m;while (true){if ((a = a % b) == 0)return b;if ((b = b % a) == 0)return a;}}}本答案仅供参考,如有不同意见属正常。