2011蓝桥杯模拟试题java本科组试题及答案

合集下载

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

蓝桥杯试题及答案

蓝桥杯试题及答案

蓝桥杯试题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?A. classB. interfaceC. enumD. struct答案:A2. 下列哪个不是Python的内置数据类型?A. intB. floatC. stringD. list答案:D二、填空题1. 在C语言中,定义一个整型变量的关键字是________。

答案:int2. 在JavaScript中,用于定义函数的关键字是________。

答案:function三、简答题1. 请简述什么是算法的时间复杂度,并给出一个例子。

答案:算法的时间复杂度是指算法执行时间随输入规模增长的变化趋势。

例如,对于一个简单的线性搜索算法,如果数组中有n个元素,最坏情况下需要比较n次,因此其时间复杂度是O(n)。

2. 请解释什么是栈,并给出一个栈的应用场景。

答案:栈是一种后进先出(LIFO)的数据结构,允许在一端进行数据的添加和删除操作。

一个常见的栈的应用场景是函数调用的实现,在编程中,每当调用一个函数,就会将函数的返回地址和局部变量压入栈中,待函数执行完毕后再从栈中弹出。

四、编程题1. 编写一个函数,实现对一个整数数组进行排序。

答案:```javapublic static void sort(int[] array) {for (int i = 0; i < array.length - 1; i++) {for (int j = 0; j < array.length - i - 1; j++) {if (array[j] > array[j + 1]) {int temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;}}}}```2. 编写一个程序,实现计算一个字符串中所有元音字母的数量。

答案:```pythondef count_vowels(s):vowels = "aeiouAEIOU"return sum(1 for char in s if char in vowels)# 示例print(count_vowels("Hello World")) # 输出应该是 3```五、案例分析题1. 描述一个场景,其中使用二叉搜索树(BST)比使用数组更有效,并解释原因。

蓝桥杯本科java试题及答案

蓝桥杯本科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组

第四届“蓝桥杯”全国软件专业人才设计与创业大赛校内选拔赛试题(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、圆周率我国古代数学家对圆周率方面的研究工作,成绩是突出的。

蓝桥杯大学组试题及答案

蓝桥杯大学组试题及答案

蓝桥杯大学组试题及答案一、单项选择题(每题5分,共50分)1. 以下哪个选项是Python语言中定义列表的正确方式?A. list = {}B. list = []C. list = ()D. list = []答案:B2. 在HTML中,用于定义最重要的标题的标签是?A. <h1>B. <h2>C. <h3>D. <h4>答案:A3. 以下哪个选项是JavaScript中声明函数的正确方式?A. function myFunction() {}B. var myFunction = function() {}C. var myFunction = function() {}D. Both A and B答案:D4. 在CSS中,以下哪个属性用于设置元素的背景颜色?A. background-colorB. backgroundC. colorD. bgcolor答案:A5. 在SQL中,以下哪个命令用于创建一个新的数据库?A. CREATE TABLEB. CREATE DATABASEC. SELECTD. INSERT INTO答案:B6. 在Java中,以下哪个关键字用于定义一个类?A. classB. functionC. structD. interface答案:A7. 在C++中,以下哪个操作符用于定义引用?A. *B. &C. %D. #答案:B8. 在PHP中,以下哪个函数用于连接数据库?A. connect()B. db_connect()C. mysqli_connect()D. database_connect()答案:C9. 在Unix/Linux系统中,以下哪个命令用于查看当前工作目录?A. pwdB. lsC. cdD. mkdir答案:A10. 在正则表达式中,以下哪个符号用于匹配任何单个字符?A. .B. *C. ^D. $答案:A二、多项选择题(每题10分,共20分)1. 以下哪些选项是JavaScript中常用的数据类型?A. NumberB. StringC. BooleanD. ObjectE. Array答案:ABCDE2. 在Python中,以下哪些选项是合法的变量命名?A. _my_varB. my_varC. 2my_varD. my-varE. myVar答案:ABE三、简答题(每题15分,共30分)1. 请简述在HTML5中,如何使用Canvas元素绘制一个简单的矩形。

第三届蓝桥杯软件java本科答案

第三届蓝桥杯软件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;本答案仅供参考,如有不同意见属正常。

2011蓝桥杯模拟试题java和C(高职)

2011蓝桥杯模拟试题java和C(高职)

2011蓝桥杯模拟试题java和C(高职)2011 模拟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);}}2.代码填空(满分4分)如果要把两个整型变量a、b的值交换,一般要采用一个中间变量做过渡,但也可以在不借助任何其它变量的情况下完成。

试填写缺失的代码。

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

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

违反规则者受罚。

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

for(int i=1; i<100; i++){if(i % 7 == 0)printf("*\n");else if(___________________)printf("*\n");elseprintf("%d\n", i);}4.代码填空(满分5分)下面的静态方法的目的是求出某个日期是该年度的第几天。

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

蓝桥杯java试题及答案

蓝桥杯java试题及答案蓝桥杯是中国著名的计算机科学与技术竞赛,旨在选拔和培养优秀的计算机人才,尤其是高中和大学的学生。

Java是蓝桥杯竞赛中常见的编程语言之一。

本文将介绍一些常见的蓝桥杯Java试题,并提供相应的答案。

一、编程题1. 题目描述:请编写一个Java程序,实现将一个整数数组中的奇数和偶数分别放在两个新数组中,并按照从小到大的顺序排列。

解题思路:可以使用两个ArrayList来保存奇数和偶数,先遍历原数组,将奇数放入奇数数组,将偶数放入偶数数组,然后分别对两个数组进行升序排序。

代码实现:```javaimport java.util.ArrayList;import java.util.Arrays;import java.util.Collections;public class SplitArray {public static void main(String[] args) {int[] arr = {1, 2, 3, 4, 5, 6};ArrayList<Integer> oddList = new ArrayList<>(); ArrayList<Integer> evenList = new ArrayList<>(); for (int num : arr) {if (num % 2 == 0) {evenList.add(num);} else {oddList.add(num);}}Collections.sort(oddList);Collections.sort(evenList);System.out.println("奇数数组:" + oddList);System.out.println("偶数数组:" + evenList);}}```答案分析:该程序首先定义了一个整型数组 `arr`,然后创建两个ArrayList:`oddList`用于保存奇数,`evenList`用于保存偶数。

2011蓝桥杯模拟试题java 和C(本科)

2011蓝桥杯模拟试题java 和C(本科)

2011 模拟java 本科注意:本套模拟题主要模拟命题形式与考核范围。

真实竞赛题的数量、难度可能与此套模拟题有差异。

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

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

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

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

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

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

1.代码填空(满分2分)在A B C D E F 六人中随机抽取3人中奖,要求中奖人不能重复。

请完善以下代码:public class MyTest{public static void main(String[] args){Vector a = new Vector();for(char i='A'; i<='F'; i++) a.add("" + i);for(int k=0; k<3; k++){int d = ____________________________;System.out.println(a.remove(d));}}}2.代码填空(满分3分)不同进制的数值间的转换是软件开发中很可能会遇到的常规问题。

下面的代码演示了如何把键盘输入的3进制数字转换为十进制。

试完善之。

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String s = br.readLine();int n = 0;for(int i=0; i<s.length(); i++){char c = s.charAt(i);if(c<'0' || c > '2') throw new RuntimeException("Format error");n = ______________________;}System.out.println(n);3.代码填空(满分4分)有如下程序,完成的功能为:找出数组中的最大元素。

蓝桥杯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】第十一届蓝桥杯省模拟赛答案(本科组)

【JAVA】第⼗⼀届蓝桥杯省模拟赛答案(本科组)⽬录本辣鸡持续垃圾,⼀到六题特别简单,做到第七题有点绕,做到第⼋、九、⼗题就不想做了,晚上补缺失的代码和题解。

⼀、⽆向连通图包含多少条边问题描述 ⼀个包含有2019个结点的⽆向连通图,最少包含多少条边?答案提交 这是⼀道结果填空的题,你只需要算出结果后提交即可。

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

题解⼀个有n个顶点的⽆向连通图最多有n(n-1)/2条边,最少有n-1条边。

答案2018⼆、字母重新排列问题描述 将LANQIAO中的字母重新排列,可以得到不同的单词,如LANQIAO、AAILNOQ等,注意这7个字母都要被⽤上,单词不⼀定有具体的英⽂意义。

请问,总共能排列如多少个不同的单词。

答案提交 这是⼀道结果填空的题,你只需要算出结果后提交即可。

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

题解本题看似是全排列,实际不是,因为有两个A,解题算式:A77/A22 (这⾥都是排列的计算公式,参见Anm,n为下标,m为上标)也就是(7x6x5x4x3x2x1)/2x1=2520答案2520三、在计算机存储中,12.5MB是多少字节?问题描述 在计算机存储中,12.5MB是多少字节?答案提交 这是⼀道结果填空的题,你只需要算出结果后提交即可。

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

题解这是真的送分题12.5*1024(转换成KB)*1024(转换成B)=13,107,200答案13107200四、合法括号序列 由1对括号,可以组成⼀种合法括号序列:()。

由2对括号,可以组成两种合法括号序列:()()、(())。

由4对括号组成的合法括号序列⼀共有多少种?答案提交 这是⼀道结果填空的题,你只需要算出结果后提交即可。

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

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

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

2011年选拔赛java 高职考生须知:考试时间为4小时。

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

总计100分。

其中代码填空:3+3+4+6+7+9+10 = 42 分程序设计:14+17+27 = 58分填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。

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

把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。

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

考生的程序只有能运行出正确结果的时候才有机会得分。

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

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

对每个题目,要求考生把所有类写在一个文件中。

调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。

相关的工程文件不要拷入。

请不要使用package语句。

另外,源程序中只能出现JDK1.5中允许的语法或调用。

不能使用1.6或更高版本。

代码填空(满分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;}代码填空(满分3分)计算行程低碳生活,有氧运动。

骑自行车出行是个好主意。

小明为自己的自行车装了个计数器,可以计算出轮子转动的圈数。

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

2011蓝桥杯java高职预赛试题第9题附参考答案

2011蓝桥杯java高职预赛试题第9题附参考答案

9. 程序设计(满分17分)方阵的主对角线之上称为“上三角”。

请你设计一个用于填充n阶方阵的上三角区域的程序。

填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。

例如:当n=3时,输出:1 2 36 45当n=4时,输出:1 2 3 49 10 58 67当n=5时,输出:1 2 3 4 512 13 14 611 15 710 89程序运行时,要求用户输入整数n(3~20)程序输出:方阵的上三角部分。

要求格式:每个数据宽度为4,右对齐。

要求考生把所有类写在一个文件中。

调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。

相关的工程文件不要拷入。

请不要使用package语句。

另外,源程序中只能出现JDK1.5中允许的语法或调用。

不能使用1.6或更高版本。

import java.util.Scanner;public class Testtwo {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc=new Scanner(System.in);System.out.println("put n!");int n=sc.nextInt();int k=1;int a[][]=new int[n][n];for(int i=0;i<n;i++){for(int j=i ;j<n-1-i*2;j++){a[i][j]=k;k++;}for(int j=i;j<n-i*2-1;j++){a[j][n-1-i-j]=k;k++;}for(int j=i;j<n-2*i-1;j++){a[n-1-i-j][i]=k;k++;}}if((n-1)%3==0)a[(n-1)/3][(n-1)/3]=k;for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(a[i][j]==0)continue;if(a[i][j]<10)System.out.print(a[i][j]+" ");else if(a[i][j]<100)System.out.print(a[i][j]+" ");elseSystem.out.print(a[i][j]+" ");}System.out.println("");}}}。

蓝桥杯软件java本科答案

蓝桥杯软件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;}}}本答案仅供参考;如有不同意见属正常..希望本答案对您的学习有帮助谢谢参阅。

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

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 = new int[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 + "," + b + "," + c + "," + d);}}}}}3.代码设计(满分18分)整数的分划问题。

如,对于正整数n=6,可以分划为:65+14+2, 4+1+13+3, 3+2+1, 3+1+1+12+2+2, 2+2+1+1, 2+1+1+1+11+1+1+1+1+1+1现在的问题是,对于给定的正整数n,编写算法打印所有划分。

用户从键盘输入n (范围1~10)程序输出该整数的所有划分。

import java.util.*;public class Test {private static LinkedList<String> str=new LinkedList<String>();public static void main(String[] args){ int input = 10;Test.integerDivide(input, input);}public static void integerDivide(int limit, int max){if(1 == max) {str.add(String.valueOf(1));formatResult(str);str.removeLast();return;}if(0 == max) {formatResult(str);return;}for(int i = limit ; i >= 1; --i){ if(i <= max){str.add(String.valueOf(i));integerDivide(i, max-i);str.removeLast();}}}public static voidformatResult(LinkedList<String> s){ System.out.print(s.getFirst());for(int i=1;i<s.size();i++)System.out.print("+"+s.get(i));System.out.println();}}4.代码设计(满分20分)一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。

例如:当N=3时,153就满足条件,因为1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水仙花数(其中,“^”表示乘方,5^3表示5的3次方,也就是立方)。

当N=4时,1634满足条件,因为1^4 + 6^4 + 3^4 + 4^4 = 1634。

当N=5时,92727满足条件。

实际上,对N的每个取值,可能有多个数字满足条件。

449177399146038697307128468643043731391252程序的任务是:求N=21时,所有满足条件的花朵数。

注意:这个整数有21位,它的各个位数字的21次方之和正好等于这个数本身。

如果满足条件的数字不只有一个,请从小到大输出所有符合条件的数字,每个数字占一行。

因为这个数字很大,请注意解法时间上的可行性。

要求程序在3分钟内运行完毕。

import java.math.BigInteger;import java.util.Arrays;public class Test {private static int num = 21;private static BigInteger[] table = new BigInteger[10];private static BigInteger[] store=new BigInteger[1000];private static int nTotal=0;private static int[] nums;public static void main(String[] args) { for (int i = 0; i < 10; i++)table[i] =BigInteger.valueOf(i).pow(num);//long time =System.currentTimeMillis();for (int i = 0; i < 10; i++)table[i]=BigInteger.valueOf(i).pow(num);nums = new int[num];for(int j=0;j<10;j++)find(nums, 0, j);if(0==nTotal)System.out.println("没有符合条件的数!");else {Arrays.sort(store,0,nTotal);for(int i=0;i<nTotal;i++)System.out.println(store[i]);}//time = System.currentTimeMillis() - time;//System.out.println(time / 1000.0 + "s");}public static void find(int[] nums, int level, int num) {nums[level] = num;if (level == nums.length - 1) {BigInteger big = sum(nums);//当level为20时,表示nums数组下标为20即21位数字满后求和;int[] temp = getArray(big);//将得到的21位数和转化为整形数组;并返回;if (check(nums, temp))//测试是否是21位,并将数组复制给nums数组;{store[nTotal]=big;//保存big数;nTotal++;}return;}for (int i = num; i < 10; i++)//递归;查找21位数字符合条件的数;find(nums, level + 1, i);}public static boolean check(int[]a1, int[] a2) { if (a1.length != a2.length)return false;Arrays.sort(a2);return Arrays.equals(a1, a2);}/*** 449177399146038697307128468643043731391252* 得到nums数组的数做为table下标的数的和。

并返回;* @param nums* @return*/public static BigInteger sum(int[] nums) {BigInteger sum = BigInteger.ZERO;for (int i = 0; i < nums.length; i++)sum = sum.add(table[nums[i]]);return sum;}/*** 将BigInteger转化为int[]类型数据;* @param big* @return*/public static int[] getArray(BigInteger big) { String s = String.valueOf(big);char[] ch = s.toCharArray();int[] res = new int[ch.length];for (int i = 0; i < ch.length; i++)res[i] = ch[i] - '0';return res;}}。

相关文档
最新文档