【第二天】蓝桥杯备战

1、星期一

https://www.lanqiao.cn/problems/611/learning/

在这里插入图片描述
解法:星期一的天数=总共的天数/7

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
   
    public static void main(String[] args) {
   
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        scan.close();
        int day = 0 ;
        for(int i =1901 ; i <= 2000 ; i++) {
   
          if((i % 4 == 0 && i % 100 != 0) || i % 400 ==0) {
   
            day += 366;
          }else {
   
            day += 365;
          }
        }
        int count = day / 7;
        System.out.println(count);
    }
}

2、顺子日期

https://www.lanqiao.cn/problems/2096/learning/
在这里插入图片描述

解法一:

public class Main{
   
    public static void main(String[] args){
   

        //2022起始日期
        int n = 20220101;

        //顺子数组
        String [] str = {
   "012","123","234","345","456","567","678","789"};

        int count = 0;
        while (n <= 20221231){
   
            //如果日期合法
            if (judge(n)){
   
                //如果存在顺子
                if (func(n+"",str)){
   
                    count++;
                }
            }
            n++;
        }
        System.out.println(count);
    }

    //判断日期是否合法
    public static boolean judge(int n){
   
        //2022年是平年,2月只有28天
        int[] arr = {
   31,28,31,30,31,30,31,31,30,31,30,31};

        int month = n % 10000 / 100;
        int day = n % 100;

        if(day <= arr[month-1] && day > 0) {
   
            return true;
        }
        return false;

    }

    //判断顺子
    public static boolean func(String s,String [] str){
   
        for( int i = 0 ; i < str.length ; i++ ){
   
            if (s.contains(str[i])){
   
                return true;
            }
        }
        return false;
    }
    
}

解法二:暴力穷举

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
   
    public static void main(String[] args) {
   
        System.out.println(14);
20220120
20220121
20220122
20220123
20220124
20220125
20220126
20220127
20220128
20220129
20221012
20221123
20221230
20221231
    }
}

3、修剪灌木

https://www.lanqiao.cn/problems/2107/learning/
在这里插入图片描述
在这里插入图片描述

import java.util.Scanner;

// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
   
    public static void main(String[] args) {
   
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
         int N = scan.nextInt();
         for(int i = 1 ; i <= N ;i++) {
   
           int max = Math.max(N-i , i-1);
           System.out.println(max*2);
         }
    }
}

在这里插入图片描述

4、最少砝码

https://www.lanqiao.cn/problems/1461/learning/
在这里插入图片描述
在这里插入图片描述

 * 解析
 * 结果应该是最少的砝码数量
    首先,如果要称的重量为1的话,只能选择重量为1的砝码,1是必选的一个砝码。
    
    然后再称比1重的,反正都是要再加砝码,那我们为何不选一个能称的重量尽可能大的呢。
    选1、2的砝码可以满足1=1,2=2,1+2=3
    选1、3的砝码可以满足1=1,2=3-1,3=3,4=3+1
    选1、4的砝码可以满足1=1,2=?无法称2,不合题意
    因此我们选择的砝码组合是1、3,此时我们可以称的最大重量为4
    
    当我们还需要再增加砝码时
    同理可得
    选1、3、9的组合可以满足小于等于13(13=1+3+9)的所有重量
    转自https://blog.csdn.net/Striver00/article/details/116031667
    
 * 比如说我定义的砝码是1 3 9 3n
 * 1砝码的最大重量值    1
 * 2砝码的最大重量值    4
 * 3            13
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
   
    public static void main(String[] args) {
   
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        int n = scan.nextInt();
        int sum = 0;
        for(int i = 0 ; i < n ; i++) {
   
          sum = sum * 3 + 1;
          if(sum >= n) {
   
            System.out.println(i+1);
            break;
          }
        }
        scan.close();
    }
}

相关推荐

  1. 第一

    2024-01-26 08:08:02       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-26 08:08:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-26 08:08:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-26 08:08:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-26 08:08:02       20 阅读

热门阅读

  1. VSCode连接远程服务器时无法下载或上传vscode-server

    2024-01-26 08:08:02       37 阅读
  2. 常见 BUG 问题面试系列-01

    2024-01-26 08:08:02       18 阅读
  3. 安全产品与等级保护:匹配与选择指南

    2024-01-26 08:08:02       31 阅读
  4. LeetCode_13_简单_罗马数字转整数

    2024-01-26 08:08:02       37 阅读
  5. 请求封装(axios、fetch)

    2024-01-26 08:08:02       35 阅读
  6. 前后台分离跨域交互

    2024-01-26 08:08:02       29 阅读