十三届蓝桥杯真题JavaB组解析+代码(带你复习知识点)(一)

简介: 十三届蓝桥杯真题JavaB组解析+代码(带你复习知识点)(一)

试题 A: 星期计算 【填空题】

d9871d1d7cf641dd971fe0938e13b0aa.png

答案:7

解析:直接对所给数进行取余,然后直接再加6(注意:不能直接让20^22+6再对7进行取余操作,这是不对的,这个6可以看成已经取余过了。) 直接取余的话可以使用java自带的Math.pow(数,次方),或者使用BigInteger(BigInteger和int的区别就是前者范围没有限制,所以可以直接使用)。


实现代码:

方法一:使用BigInteger解

public class one {
  public static void main(String[] args) {
    BigInteger bigInteger = BigInteger.valueOf(20).pow(22).mod(BigInteger.valueOf(7));
    int ha = (bigInteger.intValue()+6)%7;
    System.out.println(ha);
  }
}


方法二:直接使用Math.pow()

public static void main(String[] args) {
    System.out.println(Math.pow(20, 22)%7+6);
  }


试题 B: 山 【填空题】

29917728fbe94549b3a033aa1dd8eca1.png

答案:3138


解析:通过分析这道题,虽然给的是一个范围,但是考的还是判断一个数是否是回文数且前一半是不递减,我们实现判断回文和不递减方法后,通过一个for循环便可以求出结果。因为数据量比较大,所以比较耗时,大概快一分钟。


实现代码:

方法一:判断是否回文字符串使用双指针进行判断:

public class two {
  public static void main(String[] args) {
    int count = 0;
    for(int i =2022;i<=2022222022;i++) {
      if(check(i) && isHuiWen(i)) {
        count++;
      }
    }
    System.out.println(count);
  }
  private static boolean check(int num) {
    String s = num+"";
    for(int i =0;i<s.length()/2;i++) {
      if(s.charAt(i)>s.charAt(i+1)) return false;
    }
    return true;
  }
  private static boolean isHuiWen(int num) {
    String s = num+"";
    for(int i =0,r=s.length()-1;i<r;i++,r--) {
      if(s.charAt(i) != s.charAt(r)) return false;
    }
    return true;
  }
}


方法二:使用StringBuilder.reverse().toString.equals()来判断

这里补充一下三者用法区别:

8b023e53ef3d40049d5dc9082b0a678c.png

public class two {
  public static void main(String[] args) {
    int count = 0;
    for(int i =2022;i<=2022222022;i++) {
      if(check(i) && isHuiWen1(i)) {
        count++;
      }
    }
    System.out.println(count);
  }
  private static boolean check(int num) {
    String s = num+"";
    for(int i =0;i<s.length()/2;i++) {
      if(s.charAt(i)>s.charAt(i+1)) return false;
    }
    return true;
  }
  private static boolean isHuiWen1(int num) {
    String snum = num+"";
    StringBuilder stringBuilder = new StringBuilder(snum);
    return stringBuilder.reverse().toString().equals(snum);
  }
}


试题 C: 字符统计【代码题】

388c75a84c6e4db986fbc2ff4df9129a.png


分析:方法一:可以通过定义一个容量为26的数组来记录每个字符出现的次数,然后查找出次数最大的字符,通过遍历一遍for循环,来使按照字母表顺序输出。

补充知识点:

键盘输入的时候,next和nextline的区别,因为可能输入空的字符串,所以这里使用nextline来进行接收。

2a5809edec544124a9dd8be50e914377.png


代码实现:

public class three {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    String str = scanner.nextLine();
    int[] arr = new int[26];
    String str1 = "";
    for(int i =0;i<str.length();i++) {
      arr[str.charAt(i)-'A']++;
    }
    int max = Integer.MIN_VALUE;
    for(int i =0;i<26;i++) {
      max = Math.max(max, arr[i]);
    }
    for(int i=0;i<26;i++) {
      if(arr[i] == max) {
        str1=str1+""+(char)(i+'A');
      }
    }
    System.out.println(str1);
  }
}


相关文章
|
6月前
|
算法 PyTorch 算法框架/工具
昇腾 msmodelslim w8a8量化代码解析
msmodelslim w8a8量化算法原理和代码解析
446 5
|
8月前
|
搜索推荐 UED Python
实现一个带有昼夜背景切换的动态时钟:从代码到功能解析
本文介绍了一个使用Python和Tkinter库实现的动态时钟程序,具有昼夜背景切换、指针颜色随机变化及整点和半点报时功能。通过设置不同的背景颜色和随机变换指针颜色,增强视觉吸引力;利用多线程技术确保音频播放不影响主程序运行。该程序结合了Tkinter、Pygame、Pytz等库,提供了一个美观且实用的时间显示工具。欢迎点赞、关注、转发、收藏!
373 94
|
6月前
|
传感器 监控 Java
Java代码结构解析:类、方法、主函数(1分钟解剖室)
### Java代码结构简介 掌握Java代码结构如同拥有程序世界的建筑蓝图,类、方法和主函数构成“黄金三角”。类是独立的容器,承载成员变量和方法;方法实现特定功能,参数控制输入环境;主函数是程序入口。常见错误包括类名与文件名不匹配、忘记static修饰符和花括号未闭合。通过实战案例学习电商系统、游戏角色控制和物联网设备监控,理解类的作用、方法类型和主函数任务,避免典型错误,逐步提升编程能力。 **脑图速记法**:类如太空站,方法即舱段;main是发射台,static不能换;文件名对仗,括号要成双;参数是坐标,void不返航。
246 5
|
7月前
|
人工智能 文字识别 自然语言处理
保单AI识别技术及代码示例解析
车险保单包含基础信息、车辆信息、人员信息、保险条款及特别约定等关键内容。AI识别技术通过OCR、文档结构化解析和数据校验,实现对保单信息的精准提取。然而,版式多样性、信息复杂性、图像质量和法律术语解析是主要挑战。Python代码示例展示了如何使用PaddleOCR进行保单信息抽取,并提出了定制化训练、版式分析等优化方向。典型应用场景包括智能录入、快速核保、理赔自动化等。未来将向多模态融合、自适应学习和跨区域兼容性发展。
|
8月前
|
SQL Java 数据库连接
如何在 Java 代码中使用 JSqlParser 解析复杂的 SQL 语句?
大家好,我是 V 哥。JSqlParser 是一个用于解析 SQL 语句的 Java 库,可将 SQL 解析为 Java 对象树,支持多种 SQL 类型(如 `SELECT`、`INSERT` 等)。它适用于 SQL 分析、修改、生成和验证等场景。通过 Maven 或 Gradle 安装后,可以方便地在 Java 代码中使用。
2628 11
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
190 1
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
186 0
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
144 0
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
158 0
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
161 0

推荐镜像

更多
  • DNS