2015年蓝桥杯校内赛 javaB组

第一题
/java中提供了对正则表达式的支持。
有的时候,恰当地使用正则,可以让我们的工作事半功倍!
如下代码用来检验一个四则运算式中数据项的数目,请填写划线部分缺少的代码。
注意:只填写缺少代码,不要写任何多余内容,例如,已有的双引号。
/

package B;
public class test5_1 {public static int f(String s){
//        return s.split("\\+|\\-|\\*|\\/").length;
//        String类的函数返回的是一个字符串数组,只需要统计他的长度即可,即可求出四则运算中的数据项的数目。return s.split("[^0-9]").length;//分离除了数字之外的字符,剩下字符的长度}public static void main(String[] args){System.out.println(f("12+35*5-2*18/9-3")); //7System.out.println(f("354*12+3-14/7*6")); //6}}

第二题
/1/1 + 1/2 + 1/3 + 1/4 + … 在数学上称为调和级数。
它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。
但是,它发散的很慢:
前1项和达到 1.0
前4项和才超过 2.0
前83项的和才超过 5.0
那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?
请填写这个整数。
注意:只需要填写一个整数,不要填写任何多余的内容。比如说明文字。
/

package B;
public class test5_2 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubdouble sum =0.0;for(int i = 1;i < 10000000;i++){sum += 1.0 / i;if(sum >= 15.0){System.out.println(i);break;}}}}

答案:1835421
第三题
/*
如果x的x次幂结果为10(参见【图1.png】),你能计算出x的近似值吗?
显然,这个值是介于2和3之间的一个数字。
请把x的值计算到小数后6位(四舍五入),并填写这个小数值。
注意:只填写一个小数,不要写任何多余的符号或说明。*/

package B;
public class test5_3 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stub//System.out.print(Math.pow());for(double x = 2.5;;x+=0.00000001){if((10-Math.pow(x, x))<0.0000001){System.out.print(String.format("%.6f", x));break;}}} }

答案:2.506184
第四题

今有7对数字:两个1,两个2,两个3,…两个7,把它们排成一行。
要求,两个1间有1个其它数字,两个2间有2个其它数字,以此类推,两个7之间有7个其它数字。如下就是一个符合要求的排列:

17126425374635

当然,如果把它倒过来,也是符合要求的。

请你找出另一种符合要求的排列法,并且这个排列法是以74开头的。

注意:只填写这个14位的整数,不能填写任何多余的内容,比如说明注释等。

第五题
/勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形。
已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数。
求满足这个条件的不同直角三角形的个数。
【数据格式】
输入一个整数 n (0<n<10000000) 表示直角三角形斜边的长度。
要求输出一个整数,表示满足条件的直角三角形个数。
例如,输入:
5
程序应该输出:
1
再例如,输入:
100
程序应该输出:
2
再例如,输入:
3
程序应该输出:
0
资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 1000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。
/

package B;
import java.util.Scanner;
public class test5_5 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);int c = input.nextInt();int count = 0;for(int i = 1;i < c;i++){for(int j = 1;j < c;j++){if(c*c == i*i+j*j){count++;System.out.println(i+":"+j);}}}System.out.println(count/2);}}

第六题

package B;import java.util.Scanner;public class test5_6 {static char[][] s = new char[9][9];public static void main(String[] args) {Scanner sc = new Scanner(System.in);for (int i = 0; i < 9; i++) {String str = sc.nextLine();s[i] = str.toCharArray();//将字符串转换成字符数组}s(0,0);}public static void s(int i,int j){if(i==9) {//匹配成功 输;for (int m = 0;m < 9; m++) {for (int k = 0; k < 9; k++) {System.out.print(s[m][k]);}System.out.println();}return;}if(s[i][j]=='0'){//找到为0的进行赋值for (int k = 0; k < 9; k++) {boolean a = true;//标记行、列、同色九宫是否出现过  出现过为false 默认未出现过for (int t = 0; t < 9; t++) {//判断行与列有没有出现:(char)(k+l+'0')if(s[i][t]==(char) (k+1+'0')||s[t][j]==(char) (k+1+'0')) {//k+1+'0':这个1是1,2,3,4....中的1//System.out.println(1+2+'0');a = false;break;}}if(a)//行、列没有出现:(char)(k+l+'0'),进行同色九宫的判断for (int m = (i/3)*3; m < (i/3)*3+3; m++) {//判断同色九宫是否出现:(char)(k+l+'0')for (int n = (j/3)*3; n < (j/3)*3+3; n++) {if(s[m][n]==(char) (k+1+'0')){a = false;break;}}}if(!a) continue;//判断k+1+'0'出现过,则跳过这个循环,继续进行k++的for循环,//若没有出现过k+1+'0',则把这个值赋给s[i][j],继续递归s[i][j] = (char) (k+1+'0');//赋值if(j==8){//递归赋值s(i+1,0);}else{s(i,j+1);//从第0行开始,从左到右,当j==8时,从下一行开始,从第0列开始,重复}s[i][j] = '0';//进行到后面的填空时,出现矛盾了,把前面上一个填过的空,回溯为零,再进行下一层r循环}}else{//不为’0’继续找if(j==8){s(i+1,0);}else{s(i,j+1);}}}
}

第七题
/*G将军有一支训练有素的军队,这个军队除开G将军外,每名士兵都有一个直接上级(可能是其他士兵,也可能是G将军)。现在G将军将接受一个特别的任务,需要派遣一部分士兵(至少一个)组成一个敢死队,为了增加敢死队队员的独立性,要求如果一名士兵在敢死队中,他的直接上级不能在敢死队中。
请问,G将军有多少种派出敢死队的方法。注意,G将军也可以作为一个士兵进入敢死队。
输入格式
输入的第一行包含一个整数n,表示包括G将军在内的军队的人数。军队的士兵从1至n编号,G将军编号为1。
接下来n-1个数,分别表示编号为2, 3, …, n的士兵的直接上级编号,编号i的士兵的直接上级的编号小于i。
输出格式
输出一个整数,表示派出敢死队的方案数。由于数目可能很大,你只需要输出这个数除10007的余数即可。
样例输入1
3
1 1
样例输出1
4
样例说明
这四种方式分别是:

  1. 选1;
  2. 选2;
  3. 选3;
  4. 选2, 3。
    样例输入2
    7
    1 1 2 2 3 3
    样例输出2
    40*/
package B;import java.util.ArrayList;
import java.util.Scanner;public class test5_7 {public static int n;public static int MOD = 10007;public static ArrayList<Integer>[] list;//存储分支树,表示上下级public static long[][] dp;//存储各个可能性public void dfs(int root) {dp[root][0] = 1;//root来dp[root][1] = 1;//root不来//System.out.println(list[root].size());for(int i = 0;i < list[root].size();i++) {//root代指上级,i代指下级int child = list[root].get(i);System.out.println(child);dfs(child);dp[root][0] = dp[root][0] * (dp[child][0] + dp[child][1]) % MOD;//在root来的情况下:child来+child不来dp[root][1] = dp[root][1] * dp[child][0] % MOD;//在root不来的情况下:child来。剔除了child不来的情况}}//@SuppressWarnings("unchecked")public static void main(String[] args) {test5_7 test = new test5_7();Scanner in = new Scanner(System.in);n = in.nextInt();list = new ArrayList[n + 1]; for(int i = 1;i <= n;i++)list[i] = new ArrayList<Integer>();//申请列表1,2,3for(int i = 2;i <= n;i++) {int father = in.nextInt();//输入上级fatherlist[father].add(i);//依次将上级对应的下级添加入列表,用链表形式以父子关系存储上下级关系}dp = new long[n + 1][2];test.dfs(1);long result = (dp[1][0] + dp[1][1] - 1) % MOD;System.out.println(result);}}

蓝桥杯 2015 javaB组 校赛相关推荐

  1. 2015年 第6届 蓝桥杯 Java B组 省赛解析及总结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...

  2. 蓝桥杯python青少年_蓝桥杯大赛青少年组省赛结果公布

    2020年7月,第十一届蓝桥杯大赛青少年组省赛结果公布.作为少儿编程教育行业的头部企业,编程猫再次发挥示范.引领作用,近90%的报名学员在选拔赛.省赛中获奖.其中,获得省赛一等奖的参赛学员占比高达23 ...

  3. 2020年 第11届 蓝桥杯 Java B组 省赛真题详解及小结【第1场省赛 2020.7.5】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...

  4. 2020年 第11届 蓝桥杯 Java C组 省赛真题详解及小结【第1场省赛 2020.7.5】

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...

  5. 蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载【2013年(第4届)~2021年(第12届)】

    蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载[2013年(第4届)~2021年(第12届)] 百度网盘-CSDN蓝桥杯资料(真题PDF+其它资料)   提取码:6666 2013年 ...

  6. 2019年 第10届 蓝桥杯 Java B组 省赛真题详解及总结

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...

  7. 2018年 第9届 蓝桥杯 Java B组 省赛真题详解及总结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...

  8. 2016年 第7届 蓝桥杯 Java B组 省赛解析及总结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...

  9. 2014年 第5届 蓝桥杯 Java B组 省赛解析及总结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...

  10. 2021年 第12届 蓝桥杯 Java B组 省赛真题详解及小结【第1场省赛 2021.04.18】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[题目下载.2013年(第4届)~2020年(第11届)] CSDN 蓝桥杯 专栏 2013年 第04届 蓝桥杯 Java B组 省赛真题详解及小结 ...

最新文章

  1. 计算机原理与接口专科学影像技术专业的,女生影像学专业就业前景好
  2. 在哪里学python比较好-学Python从哪里开始?
  3. SAP 电商云 Spartacus UI 的双重 layout 配置层设计
  4. 蓝桥杯基础模块06_1:定时器计数器
  5. [Unity]限制两个物体之间的距离
  6. Spring Boot RabbitMQ 详解
  7. 如何使用gcc编译器
  8. k8s学习: 部署动态 pvc(nfs-subdir-external-provisioner)
  9. RS232接口芯片内部原理
  10. JEB配合IDA神器逆向
  11. 装系统弹出计算机丢失,重装系统时提示缺少硬盘驱动怎么解决
  12. python素数的判断方法_判断是否是素数(质数)的几种简单方法
  13. 历时一年,我的著作《第一行代码——Android》已出版!
  14. 百度地图改变定位图标
  15. ubuntu 服务器鼠标键盘无反应
  16. murmur3哈希算法
  17. 隐藏微信右上角的分享按钮
  18. QT获取当前目录的上一级目录dir->cdUp()
  19. 基于stm32f103的智能风扇系统
  20. aoa计算机二级word单项操作,计算机二级AOA word单项操作

热门文章

  1. JNCIS翻译文档之------接口
  2. Qt编写的知名的开源软件汇总
  3. Beta版本——第五次冲刺博客
  4. TrueCrypt加密:TrueCrypt Format创建加密卷(1)
  5. 使用ret2reg攻击绕过地址混淆
  6. 操作系统复习:12.缺页中断以及内存页面置换算法
  7. 推荐几个自己用过的软件测试博客论坛
  8. 汇编基础2:看懂汇编
  9. 教你怎样将txt/html转成chm
  10. ABC Amber CHM Converter:CHM转换PDF