IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 蓝桥杯第二次模拟赛JAVA题解 -> 正文阅读

[Java知识库]蓝桥杯第二次模拟赛JAVA题解

目录

第一题🎈

第二题🎈

第三题🎈

第四题🎈

第五题🎈

第六题🎈

第七题🎈

第八题

第九题🎈

第十题


第一题🎈

?255

一般来说第一题都是白给的,但是这个题目需要一些计算机网络的知识,不然就真的“白给”了!!!

简单来说一下吧,IPv4中 IP地址是32位二进制表示,分成四段,每段8位二进制,即2的八次方个数,*表示其中的一段,因为是从0开始的,所以最大是255

(个人见解哦,有问题欢迎评论区留言)

第二题🎈

class test2{
    int []a=new int[2040];
    void method(){
        for (int i=2;i<2021;i++){
            if(2021%i==0){
                for(int j=1;i*j<=2021;j++){
                    a[i*j]=1;
                }
            }
        }
        int t=0;
        for(int k=0;k<2040;k++){
            if(a[k]==1)
                t++;
        }
        System.out.println(t);
    }
}

89

这个题目的话没啥难度,直接暴力解,但是我对它题目的表述表示很不理解😵(g应该是能被A和B整除才对吧!),我看了老半天,一度怀疑自己,不过根据它后面的举例可以明白意思,不影响做题!

第三题🎈

class test3{
    int []a=new int[2030];
    void method(){
        for(int i=1;i<=2021;i++){//这个地方i<=2021加等号主要是因为2021容易被漏掉
            for(int j=1;j<=i;j++){//这个地方要j<=i,主要是i=1的时候容易被漏掉
                for (int k=0;k<j;k++ ){
                    if(i==(j*j-k*k)){
                        a[i]=1;
                    }
                }
            }
        }
        int l=0;
        for(int t=1;t<2030;t++){
            if(a[t]==1)
                l++;
        }
        System.out.println(l);
    }
}

1516

这个题目的话要细心一点,因为很容易做错,容易漏掉1和2021这两个数😄

第四题🎈

?219

哈夫曼编码题

第五题🎈

class test5{
    void method(){
        String s="FFEEFEAAECFFBDBFBCDA  DACDEEDCCFFAFADEFBBA " +
                " FDCDDCDBFEFCEDDBFDBE  EFCAAEECEECDCDECADDC  DFAEACECFEADCBFECADF  DFBAAADCFAFFCEADFDDA " +
                " EAFAFFDEFECEDEEEDFBD  BFDDFFBCFACECEDCAFAF  " +
                "EFAFCDBDCCBCCEADADAEBAFBACACBFCBABFDAFBEFCFDCFBCEDCEAFBCDBDDBDEFCAAAACCFFCBBAAEECFEFCFDEEDCACDACECFF " +
                " BAAAFACDBFFAEFFCCCDB  FADDDBEBCBEEDDECFAFFCDEAFBCBBCBAEDFDBEBB " +
                "BBABBFDECBCEFAABCBCFFBDBACCFFABEAEBEACBBDCBCCFADDCACFDEDECCCBFAFCBFECAACAFBCFBAF";
        char[] g=s.toCharArray();
        int a=0;
        int b=0;
        int c=0;
        int d=0;
        int e=0;
        int f=0;
        for(int i=0;i<s.length();i++){
            if(g[i]=='A')a++;
            if(g[i]=='B')b++;
            if(g[i]=='C')c++;
            if(g[i]=='D')d++;
            if(g[i]=='E')e++;
            if(g[i]=='F')f++;
        }
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);
        System.out.println(f);


    }
}

?直接暴力就完事儿了!!!

第六题🎈

class test6{
    void method(){
        Scanner scanner = new Scanner(System.in);
        int p=scanner.nextInt();
        int t=scanner.nextInt();
        int k=t/12+1;
        System.out.println(p*k);
    }
}

送分题,哈哈?

第七题🎈

class test7{
    void method(){
        Scanner scanner = new Scanner(System.in);
        int a=scanner.nextInt();
        int b=scanner.nextInt();
        int c=scanner.nextInt();
        int k=Math.max(a,b);
        int j=Math.max(a,c);
        int t=Math.max(k,j);
        if(2*t*t==(a*a+b*b+c*c)) System.out.println("YES");
        else System.out.println("NO");
    }
}

?读完题目,直接暴力,没啥技巧可言,找一个最大边,然后用一下勾股定理就好了🤷?♀?

第八题

哈哈哈,这个题目当时没想出来,等考完六级的时候我再仔细思考一下!!

第九题🎈

?

class test9 {
    void method() {
        /**
         * 第一种方法
         */
        Scanner scanner = new Scanner(System.in);
        int N = 1020;
        double p = Math.pow(10, 9) + 7;
        int h = (int) p;
        int n = scanner.nextInt();
        int[] f = new int[N];
        int k = n / 2;
        for (int i = 1; i <= n; i++) {
            f[0] = 1;
            f[i] = 1;

            for (int j = i - 1; j > 0; j--) {
                f[j] = (f[j - 1] + f[j]) % h;
            }
        }
        System.out.println(f[k]);
    }

    /**
     * 第二种方法
     */
    void method_2() {
        //推出转态方程后,可以参考蓝桥杯第一次模拟赛中利用杨辉三角求组和数问题的方法
        int p=1000000007;
        int[][] a = new int[1010][1010];
        int t = 1000000007;
        a[0][0] = 1;
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        for (int i = 1; i <= n; i++) {
            a[i][0] = 1;
            for (int j = 1; j <= i; j++) {
             a[i][j]=(a[i-1][j]+a[i-1][j-1])%p;
            }
        }
        System.out.println(a[n][(n+1)/2]);
    }
}

这道题目还是组合数的问题,关键在于找出转态方程,这里我给出了两种解法,第二种解法在我上一篇博客《蓝桥杯第一次模拟赛JAVA题解》的题解中有出现!

第十题

这个题目当时也没在出来,六级考完再仔细想想!!?

🎉🎉🎉🎉🎉🎈🎈🎈🎈🎈🎈🎈🎆🎆🎆🎆🎆🎆🧨🧨🧨🧨🧨🧨🧨🧨🎉🎉🎉🎉🎉🎉

最后总结如下:

第二次模拟赛比第一次的难度略有提升,不过跟真题比起来还是差点意思,然后我有两题没做出来(我是算法小菜鸡),等六级结束再继续肝算法!!!!

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-18 15:50:19  更:2021-12-18 15:50:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/19 5:31:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码