前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【第二天】蓝桥杯备战

【第二天】蓝桥杯备战

作者头像
小舒不服输
发布2024-01-30 13:50:43
890
发布2024-01-30 13:50:43
举报
文章被收录于专栏:编程乐园·
  • 1、星期一
  • 2、顺子日期
  • 3、修剪灌木
  • 4、最少砝码

1、星期一

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

在这里插入图片描述
在这里插入图片描述

解法:星期一的天数=总共的天数/7

代码语言:javascript
复制
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/

在这里插入图片描述
在这里插入图片描述

解法一:

代码语言:javascript
复制
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;
    }
    
}

解法二:暴力穷举

代码语言:javascript
复制
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/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
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/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
 * 解析
 * 结果应该是最少的砝码数量
    首先,如果要称的重量为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
代码语言:javascript
复制
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();
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-01-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、星期一
  • 2、顺子日期
  • 3、修剪灌木
  • 4、最少砝码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档