蓝桥杯练习题-特殊日期

news/2024/7/27 8:22:08/文章来源:https://blog.csdn.net/m0_68041576/article/details/136537410

问题描述:
对于一个日期,我们可以计算出年份的各个数位上的数字之和,也可以分别计算月和日的各位数字之和。
请问1900年1月1日至9999年12月31日总共有多少天?年份的数位数字之和等于月的数位数字之和加日的数位之和
例如:2022年11月13日满足要求:2+0+2+2=(1+1)+(1+3)
请提交满足条件的日期总数量。

实现思路:
初始化两个LocalDate对象,分别代表开始日期(1990年1月1日)和结束日期(9999年12月31日)。
初始化一个计数器counter,用于统计满足条件的日期数量。
使用while循环遍历开始日期到结束日期之间的所有日期。
对于每个日期,分别获取其年份、月份和日期,并计算它们的各位数之和。
如果年份的各位数之和等于月份和日期的各位数之和,则计数器counter加1。
日期递增1天,继续下一个日期的判断。
当遍历完所有日期后,输出满足条件的日期数量。

代码实现:

方式1:

package com.ztt.Demo01;import java.time.LocalDate;public class demo03 {public static void main(String[] args) {LocalDate beginDate=LocalDate.of(1990, 1, 1);LocalDate endDate=LocalDate.of(9999, 12, 31);int counter=0;while(beginDate.compareTo(endDate)<=0) {int year=beginDate.getYear();int month=beginDate.getMonthValue();int day=beginDate.getDayOfMonth();if(sum(year)==sum(month)+sum(day)) {counter++;}//递增1天beginDate=beginDate.plusDays(1);}System.out.println(counter);}//计算整数的每一位之和private static int sum(int number) {int a=0,b=0,c=0,d=0;d=number % 10;//个位c=(c=number / 10 % 10)!=0?c:0;b=(c=number / 100 % 10)!=0?c:0;a=(c=number / 1000 % 10)!=0?c:0;return a+b+c+d;}}

输出结果:

49776

 方式2:

package com.ztt.Demo01;public class Day{public int day1(int a) {switch(a) {case 1:;case 3:;case 5:;case 7:;case 8:;case 10:;case 12:return 31;case 2:return 28;default: return 30;}
}public int day2(int a) {switch(a) {case 1:;case 3:;case 5:;case 7:;case 8:;case 10:;case 12:return 31;case 2:return 29;default: return 30;}}public static void main(String[] args) {Day Day = new Day();int i,j,k,sum=0,DaySum=0;for(i=1990;i<=9999;i++) { for(j=1;j<13;j++) {//	System.out.print(j+" ");if((i%4==0&&i%100!=0)||(i%100==0&&i%400==0)){for(k=1;k<=Day.day2(j);k++) { if((i/1000+(i/100)%10+(i/10)%10+i%10) == (j/10+j%10+k/10+k%10)) {System.out.println(i+"年"+j+"月"+k+"日");	DaySum++;}sum++;}}else {for(k=1;k<=Day.day1(j);k++) {            if((i/1000+(i/100)%10+(i/10)%10+i%10) == (j/10+j%10+k/10+k%10)) {System.out.println(i+"年"+j+"月"+k+"日");DaySum++;}sum++;}}}}System.out.println("一共有:"+sum+"天");System.out.print("符合要求的有:"+DaySum+"天");}}

输出结果:

一共有:2925592天
符合要求的有:70183天

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_998552.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux-信号3_sigaction、volatile与SIGCHLD

文章目录 前言一、sigaction__sighandler_t sa_handler;__sigset_t sa_mask; 二、volatile关键字三、SIGCHLD方法一方法二 前言 本章内容主要对之前的内容做一些补充。 一、sigaction #include <signal.h> int sigaction(int signum, const struct sigaction *act,struc…

1、Ajax、get、post、ajax,随机颜色

一、Ajax初始 1、什么是Ajax&#xff1f; 异步的JavaScript和xml 2、xml是什么&#xff1f; 一种标记语言&#xff0c;传输和存储数据----------现在用JSON传输数据 3、Ajax的作用 局部加载 可以使网页异步更新 4、Ajax的原理或者步骤(6步) 创建Ajax对象 if (window.X…

Whisper实现语音识别转文本

#教程 主要参考开源免费离线语音识别神器whisper如何安装&#xff0c; OpenAI开源模型Whisper——音频转文字 Whisper是一个开源的自动语音识别系统&#xff0c;它在网络上收集了680,000小时的多语种和多任务监督数据进行训练&#xff0c;使得它可以将多种语言的音频转文字。…

方阵的特征值与特征向量

目录 特征值 & 特征向量 相关性质 特征值 & 特征向量 相关性质

Vue-Router路由跳转

1.标签式 标签式是就是通过router-link 路由链接组件实现视图转换 2.编程式 this.$router.push(/about)

WPS/Office 好用的Word插件-查找替换

例如&#xff1a;一片文档&#xff1a;…………泰山…………泰&#xff08;少打了山字&#xff09;………… 要是把“泰”查找替换为“泰山”&#xff0c;就会把前面的“泰山”变成“泰山山”&#xff0c;这种问题除了再把“泰山山”查找替换为“泰山”&#xff0c;有没有更简单…

Apps分类:深度解析多维度标准与应用领域

引言 随着智能手机的广泛普及&#xff0c;移动应用已经成为我们日常生活中不可或缺的一部分。这个数字化时代&#xff0c;我们依赖于各种各样的应用&#xff0c;从社交媒体到生产力工具&#xff0c;再到娱乐和健康应用&#xff0c;移动应用为我们提供了方便、娱乐和信息获取的…

【Docker】Docker:解析容器化技术的利器与在Linux中的关键作用

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Linux ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 Docker 是什么&#xff1f; Docker 的作用 Docker 在 Linux 中的重要性 结语 我的其他博客 前言 随着软件开发的不断发展&…

RabbitMQ的整体架构是怎么样的?

RabbitMQ是一个开源的消息中间件&#xff0c;用于在应用程序之间传递消息。它实现了AMQP(高级消息队列协议)并支持其他消息传递协议&#xff0c;例如STOMP(简单文本定向消息协议)和MQTT&#xff08;物联网协议&#xff09; 他的整体架构大致如下&#xff1a; Producer&#xf…

FFmpeg教程(干货快速上手)

什么是FFmpeg&#xff1f; FFmpeg是一款免费、开源的跨平台多媒体处理工具&#xff0c;它支持几乎所有的视频格式和编码标准。FFmpeg包含了一系列的子项目和工具&#xff0c;如ffmpeg命令行工具用于转码和处理视频和音频文件&#xff0c;ffplay用于播放多媒体内容&#xff0c;…

[java] 23种设计模式之桥接模式

一、什么是桥接模式 桥接(Bridge)模式属于结构型设计模式。通过提供抽象化和实现化之间的桥接结构&#xff0c;来实现二者的解耦。把抽象(abstraction)与行为实现(implementation)分离开来&#xff0c;从而可以保持各部分的独立性以及应对它们的功能扩展。 二、适用场景 当一…

内联函数|auto关键字|范围for的语法|指针空值

文章目录 一、内联函数1.1概念1.2特性 二、auto关键字2.2类型别名思考2.3auto简介2.4auto使用细则2.4 auto不能推导的场景 三、基于范围的for循环(C11)3.1 范围for的语法 四、指针空值nullptr(C11)4.1 C98中的指针空值 所属专栏:C初阶 一、内联函数 1.1概念 以inline修饰的函…

数据结构 - Trie树(字符串统计、最大异或对)

文章目录 前言Part 1&#xff1a;Trie字符串统计1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 Part 2&#xff1a;最大异或对1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 前言 本篇博客将介绍Trie树的常见应用&#xff0c;包括&#xff1a;Trie…

学习与学习理论 - 2024教招 - test

一 方向 方向性很重要&#xff0c;像学投篮一样关注发力顺序才是关键出发点&#xff0c;如果这个出发点没确定下来&#xff0c;会走许多弯路。所有学习理论大的观点&#xff0c;到某个人物个人的观点。被干掉之前&#xff08;不能被干掉&#xff09;&#xff0c;掌握所需的知识…

SPC 之 I-MR 控制图

概述 1924 年&#xff0c;美国的休哈特博士应用统计数学理论将 3Sigma 原理运用于生产过程中&#xff0c;并发表了 著名的“控制图法”&#xff0c;对产品特性和过程变量进行控制&#xff0c;开启了统计过程控制新时代。 什么是控制图 控制图指示过程何时不受控制&#xff…

设计模式——2_4 中介者(Mediator)

我寄愁心与明月&#xff0c;随风直到夜郎西 ——李白《闻王昌龄左迁龙标遥有此寄》 文章目录 定义图纸一个例子&#xff1a;怎么调度一组地铁站台和地铁开车指挥中心 碎碎念中介者和表单平台思想但是这种平台便利性是要付出代价的变化隔离原则 姑妄言之 定义 用一个中介者对象…

[C语言]——分支和循环(4)

目录 一.随机数生成 1.rand 2.srand 3.time 4.设置随机数的范围 猜数字游戏实现 写⼀个猜数字游戏 游戏要求&#xff1a; &#xff08;1&#xff09;电脑自动生成1~100的随机数 &#xff08;2&#xff09;玩家猜数字&#xff0c;猜数字的过程中&#xff0c;根据猜测数据的⼤…

RabbitMQ的web控制端介绍

2.1 web管理界面介绍 connections&#xff1a;无论生产者还是消费者&#xff0c;都需要与RabbitMQ建立连接后才可以完成消息的生产和消费&#xff0c;在这里可以查看连接情况channels&#xff1a;通道&#xff0c;建立连接后&#xff0c;会形成通道&#xff0c;消息的投递、获取…

阿里云实现两个VPC网络资源互通

背景 由于实际项目预算有限&#xff0c;两套环境虽然分别属于不同的专有网络即不同的VPC&#xff0c;但是希望借助一台运维机器实现对两个环境的监控和日常的运维操作 网络架构 如下是需要实现的外网架构图&#xff0c;其中希望实现UAT环境的一台windows的堡垒机可以访问生产…

Vue快速开发一个主页

前言 这里讲述我们如何快速利用Vue脚手架快速搭建一个主页。 页面布局 el-container / el-header / el-aside / el-main&#xff1a;https://element.eleme.cn/#/zh-CN/component/container <el-container><el-header style"background-color: #4c535a"…