蓝桥杯日期问题

蓝桥杯其他真题点这里👈

注意日期合法的判断

java 复制代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main{
    static int[] days = {0,31,28,31,30,31,30,31,31,30,31,30,31};
    static BufferedReader in = new BufferedReader(
            new InputStreamReader(System.in));

    public static void main(String[] args) throws IOException {
        String[] init = in.readLine().split("/");
        int a = Integer.parseInt(init[0]);
        int b = Integer.parseInt(init[1]);
        int c = Integer.parseInt(init[2]);

        for (int i = 19600101; i < 20591231; i++) {
            int year = i / 10000;
            int month = i / 100 % 100;
            int day = i % 100;
            if (check(year,month,day)){
                if (year % 100 == a && month == b && day == c //abc
                || year % 100 == c && month == a && day == b  //cab
                || year % 100== c && month == b && day == a  //cba
                ) System.out.printf("%d-%02d-%02d\n",year,month,day);
            }
        }
        in.close();
    }
    public static boolean check(int year,int month,int day){
        //月份异常
        if (month == 0 || month > 12) return false;
        
        //天数异常
        if (day == 0 || month != 2 && day > days[month]) return false;
            
        //不是2月的情况可能会在这出现,比如1月32号
        if(month == 2){
            //单独判断月份为2时是否是闰年
        int res = 0;
        if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0) res++;
        if (day > 28 + res) return false;
        
        }
        return true;
    }
}
相关推荐
断剑zou天涯1 分钟前
【算法笔记】二叉树的Morris遍历
数据结构·笔记·算法
永远都不秃头的程序员(互关)2 分钟前
人工智能中的深度学习:基础与实战应用
人工智能·笔记·学习
元亓亓亓3 分钟前
LeetCode热题100--739. 每日温度--中等
python·算法·leetcode
思成不止于此3 分钟前
【MySQL 零基础入门】DCL 核心语法全解析:用户管理与权限控制篇
数据库·笔记·sql·学习·mysql
柒.梧.4 分钟前
手写Tomcat的实现代码分享
java·tomcat
小白程序员成长日记4 分钟前
2025.12.11 力扣每日一题
数据结构·算法·leetcode
y1y1z5 分钟前
Spring MVC教程
java·spring·mvc
一碗白开水一5 分钟前
【论文阅读】Denoising Diffusion Probabilistic Models (DDPM)详细解析及公式推导
论文阅读·人工智能·深度学习·算法·机器学习
熬了夜的程序员9 分钟前
【Rust学习之路】序
开发语言·后端·学习·rust
代码游侠10 分钟前
学习笔记——进程
linux·运维·笔记·学习·算法