第三届蓝桥杯(高职java预赛题及参考答案)

第三届蓝桥杯(高职java预赛题及参考答案)
第三届蓝桥杯(高职java预赛题及参考答案)

1、造成高房价的原因有许多,比如土地出让价格。既然地价高,土地的面积必须仔细计算。遗憾的是,有些地块的形状不规则,比如是如图【1.jpg】中所示的五边形。

一般需要把它划分为多个三角形来计算。

已知三边求三角形的面积需要用海伦定理,参见【2.jpg】

各条边长数据如下:

AB = 52.1

BC = 57.2

CD = 43.5

DE = 51.9

EA = 33.4

EB = 68.2

EC = 71.9

根据这些数据求五边形地块的面积。四舍五入到小数后两位。只写结果,不要源代码!

1.jpg

2.jpg

public 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.8640994485186

public 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.8640994485186

2、今年的植树节(2012年3月12日),小明和他的叔叔还有小伙伴们一起去植树。休息的时候,小明的同学问他叔叔多大年纪,他叔叔说:“我说个题目,看你们谁先猜出来!”

“把我出生的年月日连起来拼成一个8位数(月、日不足两位前补0)正好可以被今天的年、月、日整除!”

他想了想,又补充到:“再给个提示,我是6月出生的。”

根据这些信息,请你帮小明算一下,他叔叔的出生年月日。

格式是年月日连成的8位数。

例如,如果是1948年6月12日,就写:19480612

public class Two {

public static void main(String[] args) {

{

for(int y = 2011; y > 1900; y--)

{

for(int d = 0; d < 31; d++)

{

int val = y * 10000 + 6 * 100 + d;

if(val % 2012 == 0 && val % 3 == 0 && val % 12 == 0)

{

if (d < 10) {

System.out.println(y + "060" + d);

break;

} else {

System.out.println(y + "06" + d);

break;

}

}

}

}

}

}19550604

3、你一定听说过这个故事。国王对发明国际象棋的大臣很佩服,问他要什么报酬,大臣说:请在第1个棋盘格放1粒麦子,在第2个棋盘格放2粒麦子,在第3个棋盘格放4粒麦子,在第4个棋盘格放8粒麦子,......后一格的数字是前一格的两倍,直到放完所有棋盘格(国际象棋共有64格)。

国王以为他只是想要一袋麦子而已,哈哈大笑。

当时的条件下无法准确计算,但估算结果令人吃惊:即使全世界都铺满麦子也不够用!

请你借助计算机准确地计算,到底需要多少粒麦子。

import java.math.BigInteger;

public class Three {

public static void main(String[] args) {

BigInteger 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);

}

}18446744073709551616

4、有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。

等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒,喝酒别开船......”

请你根据这些信息,推断开始有多少人,每一轮喝下来还剩多少人。

如果有多个可能的答案,请列出所有答案,每个答案占一行。

格式是:人数,人数,...

例如,有一种可能是:20,5,4,2,0

public class Four {

public static void main(String[] args) {

for(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))

{

System.out.println(d + "," + c + "," + b + "," + a+"," + "0");

}

}

}

} 20,5,4,2,0

} 18,9,3,2,0

} 12,6,4,2,0

}

5、以下的静态方法实现了:把串s中第一个出现的数字的值返回。如果找不到数字,返回-1 例如:

s = "abc24us43" 则返回2

s = "82445adb5" 则返回8

s = "ab" 则返回-1

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 _____________; //填空

return getFirstNum(______________); //填空

}

解析:1)、public class five {

public static void main(String[] args) {

String s = "abc24us43";

int a = getFirstNum(s);

System.out.println(a);

s = "82445adb";

a = getFirstNum(s);

System.out.println(a);

s = "ab";

a = getFirstNum(s);

System.out.println(a);

}

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 c - '0';

return getFirstNum(s.substring(1));

}

2、)public class Five {

public static void main(String[] args) {

System.out.println(getFirstNum("abc51"));

}

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).toString());

return getFirstNum(s.substring(1));

}

}6、下面代码模拟了一套扑克牌(初始排序A~K,共13张)的操作过程。

操作过程是:

手里拿着这套扑克牌,从前面拿一张放在后面,再从前面拿一张放桌子上,再从前面拿一张放在后面,....

如此循环操作,直到剩下最后一张牌也放在桌子上。

下面代码的目的就是为了求出最后桌上的牌的顺序。

初始的排列如果是A,2,3...K,则最后桌上的顺序为:

[2, 4, 6, 8, 10, Q, A, 5, 9, K, 7, 3, J]

import java.util.*;

public class Six {

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;

}

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));

}

}7、下面的代码用于判断一个串中的括号是否匹配

所谓匹配是指不同类型的括号必须左右呼应,可以相互包含,但不能交叉

例如:

..(..[..]..).. 是允许的

..(...[...)....].... 是禁止的

对于 main 方法中的测试用例,应该输出:

false

true

false

False

import java.util.*;

public class Seven {

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

{

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、30年的改革开放,给中国带来了翻天覆地的变化。2011全年中国手机产量约为11.72亿部。手机已经成为百姓的基本日用品!

给手机选个好听又好记的号码可能是许多人的心愿。但号源有限,只能辅以有偿选号的方法了。

这个程序的目的就是:根据给定的手机尾号(4位),按照一定的规则来打分。其规则如下:

1. 如果出现连号,不管升序还是降序,都加5分。例如:5678,4321都满足加分标准。

2. 前三个数字相同,或后三个数字相同,都加3分。例如:4888,6665,7777都满足加分的标准。注意:7777因为满足这条标准两次,所以这条规则给它加了6分。

3. 符合AABB或者ABAB模式的加1分。例如:2255,3939,7777都符合这个模式,

所以都被加分。注意:7777因为满足这条标准两次,所以这条标准给它加了2分。

4. 含有:6,8,9中任何一个数字,每出现一次加1分。例如4326,6875,9918都符合加分标准。其中,6875被加2分;9918被加3分。

尾号最终得分就是每条标准的加分总和!

要求程序从标准输入接收数据,在标准输出上输出结果。

输入格式为:第一行是一个整数n(<100),表示下边有多少输入行,接下来是n行4位一组的数据,就是等待计算加分的手机尾号。

输出格式为:n行整数。

例如,输入:

14

3045

0211

2345

6543

7777

8888

7878

7788

6688

2424

2244

9918

6789

8866

则输出:

5

6

8

12

3

3

5

1

1

3

8

5

import java.util.Scanner;

public class Eight {

public static void main(String[] args) {

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(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、在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了...

这个程序的任务就是把一串拼音字母转换为6位数字(密码)。我们可以使用任何好记的拼音串(比如名字,王喜明,就写:wangximing)作为输入,程序输出6位数字。

变换的过程如下:

第一步. 把字符串6个一组折叠起来,比如wangximing则变为:

wangxi

ming

第二步. 把所有垂直在同一个位置的字符的ascii码值相加,得出6个数字,如上面的例子,则得出:

228 202 220 206 120 105

第三步. 再把每个数字“缩位”处理:就是把每个位的数字相加,得出的数字如果不是一位数字,就再缩位,直到变成一位数字为止。例如: 228 => 2+2+8=12 => 1+2=3 上面的数字缩位后变为:344836, 这就是程序最终的输出结果!

要求程序从标准输入接收数据,在标准输出上输出结果。

输入格式为:第一行是一个整数n(<100),表示下边有多少输入行,接下来是n行字符串,就是等待变换的字符串。

输出格式为:n行变换后的6位密码。

例如,输入:

5

zhangfeng

wangximing

jiujingfazi

woaibeijingtiananmen

haohaoxuexi

则输出:

772243

344836

297332

716652

875843

import java.util.Scanner;

public class NIne {

public static void main(String[] args) {

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、匪警请拨110,即使手机欠费也可拨通!

为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练!

某批警察叔叔正在进行智力训练:

1 2 3 4 5 6 7 8 9 = 110;

请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号)。之间没有填入符号的数字组合成一个数,例如:12+34+56+7-8+9 就是一种合格的填法;123+4+5+67-89 是另一个可能的答案。

请你利用计算机的优势,帮助警察叔叔快速找到所有答案。

每个答案占一行。形如:

12+34+56+7-8+9

123+4+5+67-89

......

public class Ten {

public static void main(String[] args) {

//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.replaceAll(" ", "");

String jianString[] = string.split("-");

int addResult[] = new int [jianStirng.length];

addResult[0] = 0;

String addString[] = jianString[0].split("[+]");

for(int j = 0; i < 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 = Integer.parseInt(String.valueOf(num1[0]));

for(int p = 1; p < num1.length; p++)

result += Integer.parseInt(String.valueOf(num1(p1)));

}

if(result == 110)

System.out.println(string);

}

}

}

蓝桥杯c c 省赛试题及答案解析

2016蓝桥杯c-c++B组省赛试题及解析 第一题 煤球数目 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

答案:171700 #include<> int main() { int a[101] ={0}; for(int i = 1 ; i < 101 ; i ++) a[i] = a[i-1] + i; int ans = 0; for(int j = 1 ; j < 101 ; j ++) ans += a[j]; printf("%d\n",ans); return 0; }

第二题 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。 现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 答案:26 #include<> int main()

{ int start,end; for(start = 1 ; start < 236 ; start ++) { for( end = start ; end < 236 ; end ++ ) { int sum = 0; for(int i = start; i <= end; i ++) sum += i; if( sum == 236) { printf("start : %d end : %d\n",start,end); } } }

2014年第五届蓝桥杯预赛题目及标准答案

第十题 标题:小朋友排队 n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。 如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次交换时,他的不高兴程度增加k。 请问,要让所有小朋友按从低到高排队,他们的不高兴程度之和最小是多少。 如果有两个小朋友身高一样,则他们谁站在谁前面是没有关系的。 【数据格式】 输入的第一行包含一个整数n,表示小朋友的个数。 第二行包含n 个整数H1 H2 …Hn,分别表示每个小朋友的身高。 输出一行,包含一个整数,表示小朋友的不高兴程度和的最小值。 例如,输入: 3 3 2 1 程序应该输出: 9 【样例说明】 首先交换身高为3和2的小朋友,再交换身高为3和1的小朋友,再交换身高为2和1的小朋友,每个小朋友的不高兴程度都是3,总和为9。 【数据规模与约定】 对于10%的数据,1<=n<=10; 对于30%的数据,1<=n<=1000; 对于50%的数据,1<=n<=10000; 对于100%的数据,1<=n<=100000,0<=Hi<=1000000。 资源约定: 峰值内存消耗< 256M CPU消耗< 1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。 所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。 注意: main函数需要返回0 注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。注意: 所有依赖的函数必须明确地在源文件中#include ,不能通过工程设置而省略常用头文件。 提交时,注意选择所期望的编译器类型。 10 #include #include #include #include using namespace std; struct People { int top; int step; }; struct Cmp { bool operator()(const People &m, const People &n)const {

蓝桥杯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.起始行:START 2.密码消息:由1到200个字符组成一行,表示凯撒发出的一条消息. 3.结束行:END 在最后一个数据集之后,是另一行:ENDOFINPUT。 输出: 每个数据集对应一行,是凯撒的原始消息。 ?Sample Input START NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX END START N BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJ END START IFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ END ENDOFINPUT ?Sample Output IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES I WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROME DANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE 2. 判断是否为回文串 形如:“abccba”,“abcba”的串称为回文串(指顺读和倒读都一样的词

2014年第五届蓝桥杯预赛题目JAVA软件开发高职高专组

2014年预赛Java高职高专组 考生须知: ●考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压。 ●考试时间为4小时。时间截止后,选手无法继续提交答案。 ●在考试强制结束前,选手可以主动结束考试(需要身份验证),结束考试后将无法继续提交或浏览答案。 ●选手可浏览自己已经提交的答案。被浏览的答案允许拷贝。 ●对同一题目,选手可多次提交答案,以最后一次提交的答案为准。 ●参赛选手切勿在提交的代码中书写“姓名”、“考号”,“院校名”等与身份有关的信息或其它与竞赛题目无关的内容,否则成绩无效。 ●参赛选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它方式提交的答案无效。 ●试题包含三种类型:“结果填空”、“代码填空”与“程序设计”。 结果填空题:要求参赛选手根据题目描述直接填写结果。求解方式不限。不要求源代码。把结果填空的答案直接通过网页提交即可,不要书写多余的内容,比如:注释说明。 代码填空题:要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不超过一条语句(即中间不能出现分号)。 把代码填空的答案(仅填空处的答案,不包括题面已存在的代码)直接通过网页提交即可,不要书写多余的内容,比如:注释或说明文字。 程序设计题目:要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果,才有机会得分。 注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。 所有源码必须在同一文件中。调试通过后,拷贝提交。 注意:不要使用package语句。源程序中只能出现JDK1.6中允许的语法或调用。不能使用1.7或更高版本的特性。 注意:选手代码的主类名必须为:Main,否则会被判为无效代码。 1.结果填空(满分2分) 问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。请仔细阅读题目,不限解决问题的方式,只要求提交结果。 必须通过浏览器提交答案。 只提交题目要求的内容,不要填写任何多余的文字!! 2.结果填空(满分4分) 问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。请先阅读题目,不限解决问题的方式,只要求提交结果。 必须通过浏览器提交答案。

2016年度蓝桥杯java高职C组

2016年蓝桥杯Java C组考试题(考试日期2016/3/20日)第一题: 有奖猜谜 小明很喜欢猜谜语。 最近,他被邀请参加了X星球的猜谜活动。 每位选手开始的时候都被发给777个电子币。 规则是:猜对了,手里的电子币数目翻倍, 猜错了,扣除555个电子币, 扣完为止。 小明一共猜了15条谜语。 战果为:vxvxvxvxvxvxvvx 其中v表示猜对了,x表示猜错了。 请你计算一下,小明最后手里的电子币数目是多少。 请填写表示最后电子币数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 public static void main(String[] args) { int n=777; for(int i=1;i<=12;i++) { if(i%2!=0) { n=n*2; } else n=n-555; } n=n*2; n=n*2; n=n-555; System.out.println(n); } 答案:58497

第二题: 煤球数目 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 public static void main(String[] args) { int sum[]=new int[101]; int sum1=0; int s=0; for(int i=1;i<=100;i++) { sum1=sum1+i; sum[i]=sum1; s=s+sum[i]; } System.out.println(s); } 答案:171700 第三题: 平方怪圈 如果把一个正整数的每一位都平方后再求和,得到一个新的正整数。 对新产生的正整数再做同样的处理。 如此一来,你会发现,不管开始取的是什么数字, 最终如果不是落入1,就是落入同一个循环圈。 请写出这个循环圈中最大的那个数字。

蓝桥杯哦2010第一届大赛试题

第一题,以下函数的功能是将任意整数进行因式分解, 请完成该程序的空缺使函数能够正常运算 void f(int n) { for(int i=2; i1) printf(“%d\n”, n); } 第二题,以下函数的功能是将给定字符串进行倒序输出,请完成该函数空缺部分。 char* p = “abcdef”; char* q = (char*)malloc(strlen(p)+1); for(int i=0, int len=strlen(p); i

第三题,(这题的题目到底是要干啥,本人到现在沿未明了,数学学统计好,但可以确定原题给出的代码就是如此) int f(int m, int n) { int a = 1; int m1 = m; //—–(3)—- a *= m1–; int b = 1; while(n>1) b *= n–; return a / b; } 第四题,任意给出一个四位数, 把它重新组成一个四位的最大数和一个最小数, 算出两者间的差。 例如:3721这个数,可以重组成:7321和1237,相数之差为7321-1237 请完善下面这个函数,以实现此功能 int f(int n) { int N[4]; for(int i=0; i<4; i++) { N[3-i] = n % 10;

2012.C语言‘蓝桥杯“预赛.真题.高职

2011年选拔赛c 高职 考生须知: 考试时间为4小时。 本试卷包含两种题型:“代码填空”与“程序设计”。总计100分。 其中代码填空:3+3+3+5+7+9+12 = 42 分 程序设计:14+17+27 = 58分 填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不超过一条语句(即不能出现分号)。 把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。 编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果的时候才有机会得分。注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。 对每个题目,要求考生把所有函数写在一个文件中。调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。相关的工程文件不要拷入。 对于编程题目,要求选手给出的解答完全符合ANSI C标准,不能使用c++特性;不能使用诸如绘图、中断调用等硬件相关或操作系统相关的API。 1.代码填空(满分3分) 利息计算 小李年初在银行存款1千元(一年定期)。他计划每年年底取出100元救助失学儿童。假设银行的存款利率不变,年利率为3%,年底利息自动计入本金。下面的代码计算5年后,该账户上有多少存款。试填写缺失的代码。 把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。 double money = 1000; int n = 5; int i; for(i=0; i

蓝桥杯2016年JavaB组省赛题

2016年JavaB组省赛题 1.煤球数目 (结果填空) 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 2.生日蜡烛 (结果填空) 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。 请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 3.凑算式 (结果填空) B DEF A + --- + ------- = 10 C GHI (如果显示有问题,可以参见【图1.jpg】) 这个算式中A~I代表0~9的数字,不同的字母代表不同的数字。 比如: 6+8/3+952/714 就是一种解法, 5+3/1+972/486 是另一种解法。

这个算式一共有多少种解法? 注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。 5.抽签 (代码填空) X星球要派出一个5人组成的观察团前往W星。 其中: A国最多可以派出4人。 B国最多可以派出2人。 C国最多可以派出2人。 .... 那么最终派往W星的观察团会有多少种国别的不同组合呢? 下面的程序解决了这个问题。 数组a[] 中既是每个国家可以派出的最多的名额。 程序执行结果为: DEFFF CEFFF CDFFF CDEFF CCFFF CCEFF CCDFF CCDEF BEFFF BDFFF BDEFF BCFFF BCEFF BCDFF BCDEF

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

1. 历届试题核桃的数量 问题描述 小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是: 1. 各组的核桃数量必须相同 2. 各组内必须能平分核桃(当然是不能打碎的) 3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入格式 输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30) 输出格式 输出一个正整数,表示每袋核桃的数量。 样例输入1 2 4 5 样例输出1 20

样例输入2 3 1 1 样例输出2 3 JAVA 源代码 1import java.util.Scanner; 2public class Main { 3 4public 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) 12 13break; 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+1 FJ想让奶牛们计算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

2018蓝桥杯试题

2018蓝桥杯C语言b组国赛真题 1.标题:换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种。 小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱。 小明有点强迫症,他坚持要求200元换出的零钞中2元的张数刚好是1元的张数的10倍, 剩下的当然都是5元面额的。 银行的工作人员有点为难,你能帮助算出:在满足小明要求的前提下,最少要换给他多少张钞票吗? (5元,2元,1元面额的必须都有,不能是0) 注意,需要提交的是一个整数,不要填写任何多余的内容。 手算都可以。。。下面是代码,答案74 1.#include https://www.360docs.net/doc/2114341323.html,ing namespace std; 3.int main(){ 4.for(int i=1;i<40;i++){ 5.for(int j=1;j<200;j++){ 6.if(5*i+2*10*j+1*j==200) 7. cout<<"5*"<

12.2.标题:激光样式 x星球的盛大节日为增加气氛,用30台机光器一字排开,向太空中打出光柱。 安装调试的时候才发现,不知什么原因,相邻的两台激光器不能同时打开! 国王很想知道,在目前这种bug存在的情况下,一共能打出多少种激光效果? 显然,如果只有3台机器,一共可以成5种样式,即: 全都关上(sorry, 此时无声胜有声,这也算一种) 开一台,共3种 开两台,只1种 30台就不好算了,国王只好请你帮忙了。 要求提交一个整数,表示30台激光器能形成的样式种数。 注意,只提交一个整数,不要填写任何多余的内容。 思路很简单,暴力搜索,30个灯光从左到右,从左边第一个开始,第一个可以开关,第二个要根据左边的灯光是否开启来取值,以此类推。。。答案2178309 1.#include 2.#include https://www.360docs.net/doc/2114341323.html,ing namespace std; 4.int ans = 0; 5.int x[31];//0代表关,1代表开 6. 7.void dfs(int index){ 8.if(index == 30){ 9.ans++; 10.return; 11.} 12.if(index == 0 || x[index-1] == 0){ //第一个灯光可以取0或1,当前灯 光左边要是没开,那当前灯光可以取0和1 13.for(int i=0;i<=1;i++){ 14.x[index] = i;

蓝桥杯第一届初赛题目

第一届蓝桥杯预赛试题 c 本科 第一题,以下函数的功能是将任意整数进行因式分解, 请完成该程序的空缺使函数能够正常运算 void f(int n) { for(int i=2; i1) printf(“%d\n”, n); } 第二题,以下函数的功能是将给定字符串进行倒序输出,请完成该函数空缺部分。 char* p = “abcdef”; char* q = (char*)malloc(strlen(p)+1); for(int i=0, int len=strlen(p); i

q__1__ = p[i+1]; q[len-1] = p[0]; —–(2)—-; prin tf(“%s\n”, q); 第三题, int f(int m, int n) { int a = 1; int m1 = m; //—–(3)—- a *= m1–; int b = 1; while(n>1) b *= n–; return a / b; } 第四题,任意给出一个四位数, 把它重新组成一个四位的最大数和一个最小数, 算出两者间的差。 例如:3721这个数,可以重组成:7321和1237,相数之差为7321-1237 请完善下面这个函数,以实现此功能 int f(int n) { int N[4];

for(int i=0; i<4; i++) { N[3-i] = n % 10; —-(4)—- } for(i=0; i<3; i++) for(int j=0; j<3-i; j++) if(N[j]>N[j+1]) { int t = N[j+1]; N[j+1] = N[j]; N[j] = t; } int n_min=0; for(i=0; i<4; i++) n_min = n_min * 10 + N[i] ; int n_max = 0; for(i=3; i>=0; i–) n_max = n_max * 10 + N[i]; return n_max-n_min; } 第五题,假设有m+n个人,其中, m个人手持面额为5角的硬币, n个人手持面额为1元的硬币,

2014第五届蓝桥杯JAVA本科B组试题及答案

2014第五届蓝桥杯JAVA本科B组试题及答案 1. 武功秘籍小明到X山洞探险 2000 10页和第1111页和第12页不在同一张纸上。 小明只想练习该书的第81页到第92 撕 80,81 82,8384,8586,87888990,9192,93 2. 切面条2根面条。 如果先对折13根面条。 如果连续对折25根面条。 10 1025 import java.util.Scanner; public class Main { public static void main(String []args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int num = (int)Math.pow(2, n) + 1; System.out.println(num); //结果:2015 } } 3. 猜字母把abcd...s共19个字母组成的序列重复拼接1062014的串。

接下来删除第1a35个等所有奇数位置的 字母。 写 出该字母。 q import java.util.Scanner; /** * 该程序类似与约瑟夫环的问题 */ public class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); String str = "abcdefghijklmnopqrs"; String str1 = ""; for(int i = 0;i < 106;i++){ str1 = str1 + str;

蓝桥杯练习系统题目汇总

蓝桥杯练习系统题目汇总: 入门训练 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 2.#include 3.#define MOD 10007 4.#define MAXN 1000001 5.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,求圆的面积。 输入格式 输入包含一个整数r,表示圆的半径。 输出格式 输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。 说明:在本题中,输入是一个整数,但是输出是一个实数。 对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。 实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。 样例输入 4 样例输出 50.2654825 数据规模与约定

第三届蓝桥杯预赛真题及详细答案

第三届蓝桥桥杯预赛真题及详细答案 一、微生物增殖 假设有两种微生物X 和Y X出生后每隔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 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); } }

(完整版)蓝桥杯大赛青少年创意编程Scratch初级组模拟题

一、单选题(每题20分) 1、(难度系数1)在舞台添加小猫角色,它的所有设置均为默认设置。舞台布局和程序运行舞台布局程序运行结果 运行以下哪段程序后,可以得到以上结果。() A B C D以上程序都不对 2、(难度系数2)小猫看到远处好久不见的朋友,于是跳起来说“你好!”想引起朋友的注意,执行以下程序后,小猫说“你好!”一共几秒?() A 0 B 2 C4 D 8

3、(难度系数3)当角色执行完这段程序后,舞台可能出现的图形是?() A、正三角形 B、正四边形 C、正六边形 D、正八边形 4、(难度系数4)执行完这段程序后,变量b的值可能是?() A、11 B、65 C、130 D、6065

5、(难度系数5)小红想做一个月亮围绕地球旋转的动画,如图,舞台有两个角色:“地球”“月球”,并写如下程序,小红希望运行程序后,月球以地球为中心做圆周运动。() A、B、 B、D、

1、难度系数2,满分50分 准备工作:导入背景库中的“bedroom2”,并导入角色库中的“Abby”“Candy”角色。 编程实现: Abby打扫完房间,房间停电了,Abby点上了一根蜡烛。想象停电后,点上蜡烛的效果。 图1.“关灯以前” 图2.“关灯后”

1、程序开始运行时,显示如图1.“关灯以前” 2、2秒以后,背景变暗,屏幕左边的墙上出现比小猫自身还要大的影子,如图2.“关灯后”。 3、之后一直保持图2效果 4、蜡烛、Abby、影子之间和大小应大致正确。 将程序保存在桌面,命名为“1.sb2” 评判标准: 10分:程序运行后,按图1的效果显示并保持至少2秒钟; 30分:在10分的基础上,能按图2的要求背景变暗,出现Abby阴影; 50分:在30分的基础上,背景中的圣诞树仍可见,蜡烛、Abby、影子之间的位置关系 基本正确,Abby和影子的大小关系符号逻辑。 2、难度系数3,满分50分 编程实现:今天天气多云,小熊在海边散步,他的头顶飘来一朵云,一阵风吹来,云飘走了,越飘越远,最后消失在空中。 具体要求: 1、舞台背景选择图示背景,增加云朵、小熊角色。 2、程序开始运行时,“小熊”“云朵”角色出现在图1所示的位置。 3、“云朵”角色能实现“从小熊头顶飘离,并向右上角平滑地漂移,越飘越高,越飘越小,直到最后消失”的动画效果。 将程序保存在桌面,命名为“2.sb2” 图1 图2 图3 图4

蓝桥杯C语言本科B组预赛试题

蓝桥杯C语言本科B组预赛试题

————————————————————————————————作者:————————————————————————————————日期:

2014蓝桥杯C/C++语言本科B组预赛试题(完整) 1.啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。 注意:答案是一个整数。请通过浏览器提交答案。 不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。 2.切面条 一根高筋拉面,中间切一刀,可以得到2根面条。 如果先对折1次,中间切一刀,可以得到3根面条。 如果连续对折2次,中间切一刀,可以得到5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢? 答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。 3.李白打酒

话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbabbbb就是合理的次序。像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的)。 注意:通过浏览器提交答案。答案是个整数。不要书写任何多余的内容。 4.史丰收速算 史丰收速算法的革命性贡献是:从高位算起,预测进位。不需要九九表,彻底颠覆了传统手算! 速算的核心基础是:1位数乘以多位数的乘法。 其中,乘以7是最复杂的,就以它为例。 因为,1/7是个循环小数:0.142857...,如果多位数超过142857...,就要进1 同理,2/7,3/7, ...6/7 也都是类似的循环小数,多位数超过n/7,就要进n

第三届蓝桥杯(高职java预赛题及参考答案)

1、造成高房价的原因有许多,比如土地出让价格。既然地价高,土地的面积必须仔细计算。遗憾的是,有些地块的形状不规则,比如是如图【1.jpg】中所示的五边形。 一般需要把它划分为多个三角形来计算。 已知三边求三角形的面积需要用海伦定理,参见【2.jpg】 各条边长数据如下: AB = 52.1 BC = 57.2 CD = 43.5 DE = 51.9 EA = 33.4 EB = 68.2 EC = 71.9 根据这些数据求五边形地块的面积。四舍五入到小数后两位。只写结果,不要源代码! 1.jpg 2.jpg public 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.8640994485186 public 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) +

第四届蓝桥杯真题及答案

1. 结果填空(满分4分) 题目标题: 高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费 呢? 高斯出生于:1777年4月30日。 在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。 高斯获得博士学位的那天日记上标着:8113 请你算出高斯获得博士学位的年月日。 提交答案的格式是:yyyy-mm-dd, 例如:1980-03-21 请严格按照格式,通过浏览器提交答案。 注意:只提交这个日期,不要写其它附加内容,比如:说明性的文字。 考场快速解题: 先看1778是闰年么?答案是不是,所以8113 - 365= 7748,又1779也不是,所以再减365得7383,然后1780是的,所以减去366得7017,又 1781,1782,1783,肯定都不是所以连减3个365得5922,然后又是闰年,-366,再-365 - 365-365 -366 - 365 -365 -365 -366 -365 -365 -365 ~ -366 -365-365 -365 1799 得 78,即这一天是1799年4月30日之后的78天,5月31天,-31,6月30天,-30,剩17天,此时即加上两个月,为1799年6月30日,然后往后数17天,即为1799年7月16日。 答案即为:1799-07-16 2. 结果填空(满分5分)

蓝桥杯试题标准答案(练习)

1、亲密数:假设有a、b两个数,若a的所有因子之和等于b,b的所有因子之和等于a,并且a不等于b,则称a和b是一对亲密数。如284和220就是一对亲密数。 #include int main() { int a,b,i,n; for(a=1;a<=10000;a++) { for(b=0,i=1;i<=a/2;i++) if(a%i==0) b+=i; for(n=0,i=1;i<=b/2;i++) if(b%i==0) n+=i; if(n==a&&a!=b&&a

int main() { long days = 5; /*1999年的最后一天为周5,把下一年加上5天对7取余为0的,则是周日*/ int i = 2000; for(;;) /*无循环终止条件,可以利用break语句终止循环*/ { if(i%4==0&&i%100!=0||i%400==0) { days = days%7+366; } else { days = days%7+365; } if(days%7==0&&i%100==99) { printf("%d",i); break; } i++; } return 0; } 3、马虎的算式:小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。

第三届蓝桥杯全国软件大赛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[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 stub int 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

相关文档
最新文档