蓝桥杯:1.特殊日期(Java)

题目描述

对于一个日期,我们可以计算出年份的各个数位上的数字之和,也可以分别计算月和日的各位数字之和。

请问从1900年1月1日至9999年12月31日,总共有多少天,年份的数位数字之和等于月的数位数字之和加日的数位数字之和。

例如,2022年11月13日满足要求,因为2+0+2+2=(1+1)+(1+3)。

请提交满足条件的日期的总数量。

答案提交:

这是---道结果填空的题,你只需要算出结果后提交即可。

本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

输出:

70910

代码实现:

java 复制代码
public class Main{
    public static void main(String[] args) {
        int cnt = 0;
        //不同月份的天数不同
        int[] days = new int[]{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        for (int i = 1900; i <= 9999; i++) {
            //年:i
            //判断是否是闰年:(能被4整除但不能被100整除)或者(能被400被整除)
            if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)) {
                days[2] = 29;//如果是润年:二月份为29天
            } else {
                days[2] = 28;
            }
            for (int j = 1; j <= 12; j++) {
                //月:j
                for (int k = 1; k <= days[j]; k++) {
                    //日:k
                    //计数:年份数位之和 是否等于 月份和天数的数位之和
                    if (sum(i) == sum(j) + sum(k)) {
                        cnt++;
                    }
                }//k
            }//j
        }//i
        //输出
        System.out.println(cnt);
    }

    /**
     * 计算任意一个整数的数位之和
     *
     * @param n 整数
     * @return 返回数位之和
     */
    public static int sum(int n) {
        int res = 0;//结果
        while (n != 0) {//原数为0时,跳出循环
            res += n % 10;//取个数数字累加
            n = n / 10;//原数除10
        }
        return res;
    }
}
相关推荐
春日见3 分钟前
vscode的AI编程插件推荐:
大数据·ide·vscode·算法·机器学习·编辑器·ai编程
轻刀快马4 分钟前
跨越软硬件的共鸣(二):从 Cache 写策略看 Redis 与 DB 的一致性博弈
java·开发语言·redis·计算机组成原理
折哥的程序人生 · 物流技术专研4 分钟前
Java 23 种设计模式:从踩坑到精通 | 装饰器模式 —— 比继承更灵活的扩展方式,你用过吗?
java·装饰器模式·java面试·结构型模式·java设计模式·javaio·从踩坑到精通
blxr_7 分钟前
力扣hot100路径总和Ⅲhttps://leetcode.cn/problems/path-sum-iii/
算法·leetcode·职场和发展
lili001212 分钟前
2026 企业 AI 选型新范式:OpenRouter Fusion 证明多模型融合性价比远超单模型,企业该如何重构技术栈? - 微元算力(weytoken)
java·人工智能·python·重构·ai编程
shushangyun_14 分钟前
汽车服务行业B2B平台+AI解决方案哪家专业:2026年最新测评
java·运维·网络·数据库·人工智能·汽车
A.说学逗唱的Coke17 分钟前
【大模型专题】Spring AI Alibaba × Skill 整合实战:让 AI 真正“会干活
java·人工智能·spring
noipp25 分钟前
【无标题】
c语言·数据结构·c++·算法
大黄说说29 分钟前
深入理解 Go 协程 Goroutine:并发编程的核心精髓
java·数据库·python
渡众机器人39 分钟前
第八届全球校园人工智能算法精英大赛-算法应用赛-渡众机器人智能体对抗挑战赛规则
人工智能·算法·机器人·自动驾驶·自主导航·对抗赛