2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)

这篇具有很好参考价值的文章主要介绍了2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

💎蓝桥杯系列文章

2023第十四届蓝桥杯校内模拟赛第三期个人题解(Java实现)

蓝桥杯真题——单词分析(Java实现)

2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)

💎前言

这篇文章为个人题解,假如我写的解法有误,欢迎大家在评论区指正👏👏!!!希望这篇文章对你有帮助❤❤

2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)

💎填空题

🎯问题1:大于 2022 的最小数

请找到一个大于 2022 的最小数,这个数转换成二进制之后,最低的 6 个二进制为全为 0 。
  请将这个数的十进制形式作为答案提交。

💡Java代码

public static void main(String[] args) {
        int flag=0;
        for(int i=2023;;i++){
            String str=Integer.toBinaryString(i);   //转换为二进制
            if(str.length()>=6) {   //二进制长度大于6才继续
                String substr = str.substring(str.length() - 6);    //取出最后6 个二进制位
                if(substr.equals("000000")) {
                    System.out.println(i);
                    break;
                }
            }
        }
    }

结果:

2048

2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)

🎯问题2:时间间隔

计算1949年10月1日至2022年1月1日间隔的天数

直接用电脑自带计算器:

2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)

2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)

🎯问题3:进制转换

8518 是一个非常特殊的数,如果把这个数看成 16 进制数,它的值为 (8518)16=8161616+51616+116+8=34072,而 34072 正好是 8518 的整数倍。
  9558 也是这样一个数,当看成 16 进制时是 38232。其实长度为 1 的数 0 到 9 都满足看成 16 进制后是自己的整数倍(1倍)。
  请问,除开长度为 1 的数,最小的满足这样条件的数是多少?

💡Java代码

public static void main(String[] args) {
        for(int i=10;;i++){
            int num=Integer.valueOf(Integer.toString(i),16);//将数值看作16进制数,将其转为10进制
            if(num%i==0) {
                System.out.println(i);
                break;
            }
        }
    }

💯结果:

1038

2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)

🎯问题4:最长路径

从矩阵第一行第一列出发,只能水平往右走或者竖直往下走,求所走折线的数字之和的最大值。

2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)

🎯问题5:2022最多能拆分为多少个质数之和

2022能拆分为多个质数之和,请问最多能拆分为多少个?

💡Java代码

public class h5 {
    // 判断数字是否为质数
    public static boolean iszhishu(int n){
        for(int i=2;i<n;i++){
            if(n%i==0)
                return false;
        }
        return true;
    }
    public static void main(String[] args) {
        int sum=2;      //记录质数之和
        int count=1;    //记录质数的个数
        for(int i=3;i<2022;i++){
            if(iszhishu(i)) {
                sum += i;
                count++;
            }
            if(sum>=2022) {     //看>=2022最近的数是哪个
                System.out.println("质数之和:"+sum);
                System.out.println("当前数字:"+i);
                System.out.println("质数个数:"+count);
                break;
            }
        }
    }
}

💯结果:

质数之和:2127
当前数字:139
质数个数:34

和为2127时质数个数为34,所以仅需剔除5这个质数,就可以得到2022,因此答案为34-1=33个。

2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)

💎编程题:

🎯问题6:拷贝文件

小蓝正在拷贝一份文件,他现在已经拷贝了 t 秒时间,已经拷贝了 c 字节,文件总共有 s 字节, 如果拷贝是匀速进行的,请问小蓝大概还需要拷贝多少秒?
输入格式
  输入一行包含三个整数 t, c, s,相邻两个整数之间用一个空格分隔。
输出格式
  输出一个整数,表示答案。数据保证答案正好是整数。
样例输入
3 10 20
样例输出
3
样例输入
30 14 21
样例输出
15

💡Java代码

public class h6 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int t=sc.nextInt();     //已经拷贝了 t 秒时间
        int c=sc.nextInt();     //已经拷贝了 c 字节
        int s=sc.nextInt();     //文件总共有 s 字节
        double speed=c/(double)t;   //计算拷贝速度,记得转换为double
        int ans=(int)Math.round((s-c)/speed);   //结果四舍五入
        System.out.println(ans);
    }
}

💯结果:

3 10 20
3
30 14 21
15
30 14 22
17

2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)

🎯问题7:去除重复单词

小蓝有 n 个单词,但是单词中有一些是重复的,请帮小蓝去除重复的单词。
输入格式
  输入第一行包含一个正整数 n ,表示小蓝的单词数量。接下来 n 行,每行包含一个由小写字母组成的单词。
输出格式
  请输出去除重复后的那些单词。如果一个单词出现了多遍,请保留第一次出现的单词,去除之后出现的单词,按输入的顺序输出。
样例输入
lanqiao
hi
hello
hello
lanqiao
样例输出
lanqiao
hi
hello

💡Java代码

import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Scanner;
public class h7 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        String[] s=new String[n];
        for(int i=0;i<n;i++)
            s[i]=sc.next();
        ArrayList<String> list1=new ArrayList<>(Arrays.asList(s));
        LinkedHashSet<String> hashSet=new LinkedHashSet<>(list1);   //集合自动去重
        ArrayList<String> list2=new ArrayList<>(hashSet);
        for(String str:list2)
            System.out.println(str);
    }
}

💯结果:

8
lanqiao
lanqiao
hi
lanqiao
hello
hello
hello
hi


lanqiao
hi
hello

2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)

🎯问题8:补充回文串

一个字符串如果从左向右读和从右向左读相同,则称为一个回文串,例如 lanqiaoaiqnal 是一个回文串。小蓝有一个字符串,请将这个字符串右边加上一些字符,使其成为一个回文串。如果有多种方案,请输出最短的回文串。
输入格式
  输入一行包含一个字符串,由小写英文字母组成。
输出格式
  输出一行包含答案。
样例输入

lanqiao`
样例输出

lanqiaoaiqnal`
样例输入

banana`
样例输出
bananab
样例输入
java noon
样例输出
java noon

💡Java代码

public class h8 {
    //判断是否是回文串
    public static boolean ishuiwen(String s){
        int n=s.length();
        int l=0,r=n-1;
        while(l<r){
            if(s.charAt(l)==s.charAt(r)){
                l++;
                r--;
            }
            else
                return false;
        }
        return true;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        StringBuilder sb = new StringBuilder(s);
        if (ishuiwen(s))
            System.out.println(s);
        else {
            int l = 0, r = s.length() - 1;  //左右双指针
            while (l < r) {
                if (sb.charAt(l) != sb.charAt(r)) {
                    sb.insert(r + 1, sb.charAt(l)); //左右指针字符不对应,就插入
                } else
                    r--;
                l++;
            }
            System.out.println(sb.toString());
        }
    }
}

💯结果

banana
bananab
lanqiao
lanqiaoaiqnal
noon
noon

2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)

🎯问题9:X图形个数

给定一个字母矩阵。一个 X 图形由中心点和由中心点向四个45度斜线方向引出的直线段组成,四条线段的长度相同,而且四条线段上的字母和中心点的字母相同。
  一个 X图形可以使用三个整数 r, c, L 来描述,其中 r, c 表示中心点位于第 r 行第 c 列,正整数 L 表示引出的直线段的长度。 对于 1 到 L 之间的每个整数 i,X图形满足:第 r-i 行第 c-i 列与第 r 行第 c 列相同,第 r-i 行第 c+i 列与第 r 行第 c 列相同,第 r+i 行第 c-i 列与第 r 行第 c 列相同,第 r+i 行第 c+i 列与第 r 行第 c 列相同。
  例如,对于下面的字母矩阵中,所有的字母 L 组成一个 X图形,其中中间的 5 个 L 也组成一个 X图形。所有字母 Q 组成了一个 X图形。
  LAAALA
  ALQLQA
  AALQAA
  ALQLQA
  LAAALA
  给定一个字母矩阵,请求其中有多少个 X图形。
输入格式
  输入第一行包含两个整数 n, m,分别表示字母矩阵的行数和列数。
接下来 n 行,每行 m 个大写字母,为给定的矩阵。
输出格式
  输出一行,包含一个整数,表示答案。
样例输入
5 6
LAAALA
ALQLQA
AALQAA
ALQLQA
LAAALA
样例输出
3

💡Java代码

public class h9 {
    //public static void show(char[][] a){
    //    int n=a.length;
    //    for(int i=0;i<a.length;i++){
    //        for(int j=0;j<a[0].length;j++)
    //            System.out.print(a[i][j]+" ");
    //        System.out.println();
    //    }
    //}
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int m=sc.nextInt();
        String[] s=new String[n];
        char[][] ch=new char[n][m];
        for(int i=0;i<n;i++)
            s[i]=sc.next();
        for(int i=0;i<n;i++){
            for(int j=0;j<m;j++)
                ch[i][j]=s[i].charAt(j);
        }
        //show(ch);
        int count=0;    //记录所有X图形个数
        for(int i=1;i<n-1;i++){
            for(int j=1;j<m-1;j++){
                int zs=0,zx=0,ys=0,yx=0;    //记录每个字母左上左下右上右下分别有多少个和中心字母相同
                // 左上角
                for(int k=1;k<=Math.min(i,j);k++) {
                    if (ch[i][j] != ch[i - k][j - k])
                        break;
                    zs++;
                }
                // 左下角
                for(int k=1;k<=Math.min(n-i-1,j);k++) {
                    if (ch[i][j] != ch[i+k][j-k])
                        break;
                    zx++;
                }
                // 右上角
                for(int k=1;k<=Math.min(i,m-j-1);k++) {
                    if (ch[i][j] != ch[i-k][j+k])
                        break ;
                    ys++;
                }
                // 右下角
                for(int k=1;k<=Math.min(n-i-1,m-j-1);k++) {
                    if (ch[i][j] != ch[i+k][j+k])
                        break;
                    yx++;
                }
                int min=(min=(min=(zs<zx)?zs:zx)<ys?min:ys)<yx?min:yx;  //求出四个中的最小值,即该字母可以构成多少个X图形
                count+=min;     //累计所有X图形个数
            }
        }
        System.out.println(count);
    }
}

💯结果

5 6
LAAALA
ALQLQA
AALQAA
ALQLQA
LAAALA

3
5 11
AAAAALQAALQ
AAAAAALQLQA
AAAAAAALQAA
AAAAAALQLQA
AAAAALQAALQ

15

2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)

💎总结

自己做的,菜鸟一枚,可能有不少错漏之处,请大家指正。临走之前,可以给个免费的点赞评论收藏+关注吗?💗💗你的支持是我创作的最大动力!!!

2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)文章来源地址https://www.toymoban.com/news/detail-421940.html

到了这里,关于2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第十四届蓝桥杯模拟赛(第三期)(大学B组)Java组

    修改了第六题余数为0时输出应为7的问题 修改了第五题和第九题可能超时的问题 前些天参加了第十四届蓝桥杯模拟赛(第三期),收获颇丰,自己也走了一点点弯路,记录一下自己考试中犯的一些错误。也希望在这期间可以提高一下自己的编程水平。 纯小白大佬请喷! 问题

    2023年04月24日
    浏览(55)
  • 蓝桥杯第十四届蓝桥杯模拟赛第三期考场应对攻略(C/C++)

    这里把我的想法和思路写出来,恳请批评指正! 目录 考前准备 试题1: 试题2: 试题3: 试题4: 试题5: 试题6: 试题7: 试题8: 试题9: 试题10: 总结: 考前五分钟,开十个源文件,并把头文件等必须写的部分写出来,写完的程序一定要有顺序地保留 问题描述 请找到一个

    2024年02月02日
    浏览(167)
  • 【蓝桥杯Web】第十四届蓝桥杯(Web 应用开发)模拟赛 2 期 | 精品题解

    🧑‍💼 个人简介:一个不甘平庸的平凡人🍬 🖥️ 蓝桥杯专栏:蓝桥杯题解/感悟 🖥️ TS知识总结:十万字TS知识点总结 👉 你的一键三连是我更新的最大动力❤️! 📢 欢迎私信博主加入前端交流群🌹 第十四届蓝桥杯 Web 应用开发模拟赛第二期昨天正式开始了(本来写的

    2024年02月02日
    浏览(58)
  • 【蓝桥杯嵌入式】第十四届蓝桥杯嵌入式[模拟赛2]客观题及详细题解

    解析 USART_CR1:控制寄存器1,其中的M位定义了数据字的长度,由软件对其设置和清零。 USART_CR2:控制寄存器2。 USART_BRR:波特率寄存器。 USART_DR:数据寄存器。 (如果现场不记得,可以查阅芯片手册) 答案: A 解析 在STM32微控制器中,DMA可编程的数据传送数目:最大为65535。(如果现场不

    2023年04月10日
    浏览(67)
  • 【蓝桥杯嵌入式】第十四届蓝桥杯嵌入式[模拟赛1]程序设计试题及详细题解

    模拟赛1的题目中需要的准备的知识点不多,其中只用到了 串口 、 LCD 、 LED 、 按键 、 定时器的PWM输出 、以及 ADC 等几个模块,题目要求也简单详细并且数量不多,非常适合入门比赛,以及整合自己比赛的模块。 与模拟赛2相比,当然是模拟赛2的试题比较难啦,虽然需要的模

    2023年04月13日
    浏览(147)
  • 【蓝桥杯嵌入式】第十四届蓝桥杯嵌入式[模拟赛2]程序设计试题及详细题解

    这次的模拟赛试题模块还是一些常见模块: LCD 、 LED 、 按键 、 定时器 以及 串口 ,相对比较常规,相比于真正的省赛也比较简单。但是它 适合刚刚学完各个模块需要做真题的同学 ,可以借此来巩固自己之前所学;对于已经能够掌握各个模块的同学也是有帮助的,就是平台

    2023年04月13日
    浏览(134)
  • 【蓝桥杯Web】第十四届蓝桥杯(Web 应用开发)模拟赛 1 期-职业院校组 | 精品题解

    🧑‍💼 个人简介:一个不甘平庸的平凡人🍬 🖥️ Nodejs专栏:Node.js从入门到精通 🖥️ TS知识总结:十万字TS知识点总结 👉 你的一键三连是我更新的最大动力❤️! 📢 欢迎私信博主加入前端交流群🌹 上篇文章已经对大学组的十道题做了解析,有的小伙伴私信我说能不

    2024年02月02日
    浏览(48)
  • 第十五届蓝桥杯模拟赛(第二期)

    大家好,我是晴天学长,本次分享,制作不易,本次题解只用于学习用途,如果有考试需要的小伙伴请考完试再来看题解进行学习,需要的小伙伴可以点赞关注评论一波哦!后续会继续更新第三期的。💪💪💪 问题描述 小蓝要在屏幕上放置一行文字,每个字的宽度相同。 小

    2024年02月03日
    浏览(91)
  • 第十四届校模拟赛第一期(一)

      “须知少时凌云志,自许人间第一流”    鄙人11月八号有幸参加学校校选拔赛,题型为5道填空题,5道编程题,总时间为4小时。奈何能力有限,只完成了5道填空和3道编程大题,现进行自省自纠,分享学习,与诸君共勉。   若有高见,欢迎指点,水平有限,然无惧诸君笑

    2024年02月03日
    浏览(44)
  • 第十五届蓝桥杯模拟赛(第二期)JAVA

    (做的时候忘记小题截图了,没有题目,个人答案,可能会有问题) 1. 108 2.608 3.4169 4.901440 5.541(有问题,看错题目了) 6. 问题描述 给定一个正好六位的正整数 x,请将 x 循环左移一位后输出。 所谓循环左移一位,是指将原来的十万位变为个位,原来的万位到个位向左移动依

    2024年02月04日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包