蓝桥杯2014JAVAB组试题

发布时间 : 星期二 文章蓝桥杯2014JAVAB组试题更新完毕开始阅读

1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包括题中举例的)。 显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。 但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不在计数之列!注意:答案是个整数(考虑对称性,肯定是偶数)。请通过浏览器提交。不要书写多余的内容。 答案:public class Main {

}

public static void main(String []args){ int count = 0;

for (int a = 1;a <= 9; a++){

for (int b = 1;b <= 9; b++){ if(a != b){

for (int c = 1;c <= 9;c++){

for (int d = 1;d <= 9;d++){ if(c != d){

double sum1 = (double)b/a * d/c;

double sum2 = (double)(b*10 + d)/(a*10 + c); if(sum1 == sum2){ count++;

} } } } } }

System.out.println(count); //输出结果:14 } }

/** 这14组数据分别是:

2/1*4/5 4/1*5/8 6/1*3/4 6/1*4/6 9/1*5/9

1/2*5/4 6/2*5/6 1/4*8/5 9/4*8/9 1/6*4/3

1/6*6/4 2/6*6/5 1/9*9/5 4/9*9/8

PS:这些分式具有对称性 */

?

7. 扑克序列

AA223344, 一共4对扑克牌。请你把它们排成一行。 要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌。 4A3A2432 2342A3A4 请填写出所有符合要求的排列中,字典序最小的那个。 例如:22AA3344 比 A2A23344 字典序小。当然,它们都不是满足要求的答案。 2342A3A4 请通过浏览器提交答案。“A”一定不要用小写字母a,也不要用“1”代替。字符间一定不要留空格。 答案:2342A3A4

public class 扑克序列 {//这题有病,总共就两种情况,题目还给出了 public static int count = 0;

public static void main(String[] args) { char [] num = new char[8]; f(num, 0); }

public static void f(char[] num, int i) { if(i >= num.length){ if(judge(num)){ show(num); count++; } } else {

for (int j = 1; j <= 4; j++) { num[i] = (char)(j+'0'); f(num,i+1); } }

}

public static void show(char[] num) { for (int i = 0; i < num.length; i++) { if(num[i] == '1') System.out.print('A'); else

System.out.print(num[i]); }

System.out.println(); }

public static boolean judge(char[] num) { boolean[] bool = new boolean[5];

int size_A = 0, size_2 = 0, size_3 = 0, size_4 = 0; for (int i = 0; i < num.length; i++) { if(num[i] == '1'){size_A++;

if(i+2 < num.length && num[i] == num[i+2] || i - 2 > 0 && num[i-2] == num[i]) bool[0] = true; }

if(num[i] == '2'){size_2++;

if(i+3 < num.length && num[i] == num[i+3] || i - 3 > 0 && num[i-3] == num[i]) bool[1] = true; }

if(num[i] == '3'){size_3++;

if(i+4 < num.length && num[i] == num[i+4] || i - 4 > 0 && num[i-4] == num[i]) bool[2] = true; }

if(num[i] == '4'){size_4++;

if(i+5 < num.length && num[i] == num[i+5] || i - 5 > 0 && num[i-5] == num[i]) bool[3] = true; } }

if(size_A == 2 && size_3 == 2 && size_2 == 2 && size_4 == 2){ bool[4] = true; }

return bool[0] && bool[1] && bool[2] && bool[3] && bool[4]; } }

?

8. 分糖果

有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。 【格式要求】 程序首先读入一个整数N(2

联系合同范文客服:xxxxx#qq.com(#替换为@)