
蓝桥杯java高职C组.docx
31页蓝桥杯Java C组 考试题(考试日期/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,就是落入同一种循环圈请写出这个循环圈中最大的那个数字请填写该最大数字注意:你提交的应当是一种整数,不要填写任何多余的内容或阐明性文字public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int max=0; for(int i=1;i<=50;i++) { String st=""+n; int len=st.length(); int[] a=new int[len]; for(int j=0;j 同步掷出3个一般骰子(6个面上的数字分别是1~6)如果其中一种骰子上的数字等于此外两个的和,你就赢了下面的程序计算出你能获胜的精确概率(以既约分数表达)public class Main{ public static int gcd(int a, int b) { if(b==0) return a; return gcd(b,a%b); } public static void main(String[] args) { int n = 0; for(int i=0; i<6; i++) for(int j=0; j<6; j++) for(int k=0; k<6; k++){ if(i + j+2 == k+1 || i + k+2 == j+1 || k + j+2 == i+1) n++; //填空位置 } int m = gcd(n,6*6*6); System.out.println(n/m + "/" + 6*6*6/m); }}仔细阅读代码,填写划线部分缺少的内容注意:不要填写任何已有内容或阐明性文字第五题:分小组9名运动员参与比赛,需要分3组进行初赛。 有哪些分组的方案呢?我们标记运动员为 A,B,C,... I下面的程序列出了所有的分组措施该程序的正常输出为:ABC DEF GHIABC DEG FHIABC DEH FGIABC DEI FGHABC DFG EHIABC DFH EGIABC DFI EGHABC DGH EFIABC DGI EFHABC DHI EFGABC EFG DHIABC EFH DGIABC EFI DGHABC EGH DFIABC EGI DFHABC EHI DFGABC FGH DEIABC FGI DEHABC FHI DEGABC GHI DEFABD CEF GHIABD CEG FHIABD CEH FGIABD CEI FGHABD CFG EHIABD CFH EGIABD CFI EGHABD CGH EFIABD CGI EFHABD CHI EFGABD EFG CHI..... (如下省略,总共560行)public class A{ public static String remain(int[] a) { String s = ""; for(int i=0; i 注意:不要填写任何已有内容或阐明性文字第六题:凑算式 B DEFA + --- + ------- = 10 C GHI (如果显示有问题,可以参见【图1.jpg】) 这个算式中A~I代表1~9的数字,不同的字母代表不同的数字例如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法这个算式一共有多少种解法?注意:你提交应当是个整数,不要填写任何多余的内容或阐明性文字递归:static int count=0; static boolean[] date; public static void main(String[] args) { int[] a=new int[10]; date=new boolean[10]; dp(a,1); System.out.println(count); } static void dp(int[] a,int s) { if(s==10) { if(a[3]==0||a[7]==0||a[8]==0||a[9]==0) { return; } double q=(double)a[2]/a[3]; double w=(a[4]*100+a[5]*10+a[6])*1.00/(a[7]*100+a[8]*10+a[9]); double e=(double)a[1]; if(q+w+e==10.00) count++; return ; } for(int i=1;i<=9;i++) { if(date[i]==false) { date[i]=true; a[s]=i; dp(a,s+1); date[i]=false; } } }答案:29第七题:搭积木小明近来喜欢搭数字积木,一共有10块积木,每个积木上有一种数字,0~9。 搭积木规则:每个积木放到其他两个积木的上面,并且一定比下面的两个积木数字小最后搭成4层的金字塔形,必须用完所有的积木下面是两种合格的搭法: 0 1 2 3 4 56 7 8 9 0 3 1 7 5 29 8 6 4 请你计算这样的搭法一共有多少种?请填表达总数目的数字注意:你提交的应当是一种整数,不要填写任何多余的内容或阐明性文字 递归: static int count=0; static boolean[] date; public static void main(String[] args) { int[] a=new int[10]; date=new boolean[10]; 。
