蓝桥杯 ADV-127 算法提高 日期计算(java)

蓝桥杯练习题库-4算法提高+VIP题 蓝桥杯练习题库-4算法提高+VIP题1、算法提高 日期计算 2、算法提高 概率计算   立即下载

 算法提高 日期计算  
时间限制:1.0s   内存限制:256.0MB
    
问题描述
  已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。
输入格式
  输入只有一行
  YYYY MM DD
输出格式
  输出只有一行
  W
数据规模和约定
  1599 <= YYYY <= 2999
  1 <= MM <= 12
  1 <= DD <= 31,且确保测试样例中YYYY年MM月DD日是一个合理日期
  1 <= W <= 7,分别代表周一到周日
样例输入
2011 11 11
样例输出
5


注意几点吧:

int sum = (sum2 - sum1 + 12) % 7;

其实这行代码,逻辑上来讲+5和+12也可以的,但是如果+5时,此时11-11=0+5%7=2,而不是等于。。(自己想一下吧)这就错了。


for(int i=1599; i<year; i++) {

而且这行代码也要注意一下,如果时i<=year,那就算了year的整整一年的天数,这就错了喔。。



思路:

算出2011年11月11日到1599年1月1日的天数,再算出要求的日期到1599年1月1日的天数,2个作差对7取余即可求出星期几


代码如下:

import java.util.Scanner;

public class Main {
	
	static int[] mon = {0,31,28,31,30,31,30,31,31,30,31,30,31};
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int year = in.nextInt();
		int month = in.nextInt();
		int day = in.nextInt();
		int sum1 = cal(2011,11,11);
		int sum2 = cal(year,month,day);
		System.out.println(sum1+" "+sum2);
		System.out.println(sum1);
		if(sum1 <= sum2) {
			//+5和+12也可以,+12的原因是当sum2为11!!
			int sum = (sum2 - sum1 + 12) % 7;
			if(sum == 0)
				sum = 7;
			System.out.println(sum);
		} else {
			int sum = (sum1 - sum2) % 7;
			if(sum == 0)
				System.out.println(5);
			else if(sum == 1)
				System.out.println(4);
			else if(sum == 2)
				System.out.println(3);
			else if(sum == 3)
				System.out.println(2);
			else if(sum == 4)
				System.out.println(1);
			else if(sum == 5)
				System.out.println(7);
			else if(sum == 6)
				System.out.println(6);
		}
	}
	
	public static int cal(int year,int month,int day) {
		int sum = 0;
		//注意这里是i<year,如果是i<=year,就把year也计算在内!
		for(int i=1599; i<year; i++) {
			if((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)) {
				sum += 366;
			} else {
				sum += 365;
			}
		}
		//注意这里是i<month
		for(int i=1; i<month; i++) {
			//是闰年的第二月,天数是29天
			if(((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) && i == 2)
				sum += mon[i] + 1;
			else
				sum += mon[i];
		}
		sum += day;
		return sum;
	}

}

http://blog.youkuaiyun.com/qq_25605637/article/details/54897110

别再为电路自激发愁了:手把手教你用吸波材料搞定微波腔体谐振(附HFSS仿真设置) 本文详细解析了微波腔体谐振问题的工程解决方案,重点介绍了吸波材料的选型、安装工艺及HFSS仿真设置。通过实际案例和计算工具,帮助射频工程师有效抑制腔体自激,提升系统稳定性。特别适用于35GHz毫米波雷达等高频电路设计场景。 阅读详情

相关推荐

LTE 中设置voice/data centric的差异

1. 什么是voice centric和data centric Voice centric和data centric的差别在于以语音为中心还是以数据为中心。这里的以某某为中心可不是说说而已。举个栗子,UE一般搜网注册都会按照LUG(LTE->UMTS->GSM)或者LC(LTE->CDMA)的顺序进行,如果UE(未开通VOLTE)注册到LTE时,网络提示不支持语音,比如CSFB。UE就必须disable LTE后回到GU或者CDMA,否则留在不能语音的网络下,UE就会...

alimingh的博客 5235

蓝桥杯[C++] ADV-12. 计算时间

问题描述 给定⼀个t,将t秒转化为HH:MM:SS的形式,表示HH⼩时MM分钟SS秒。HH,MM,SS均是两位数,如果⼩于10⽤0补到两位。 输⼊格式 第⼀⾏⼀个数T(1<=T<=100,000),表示数据组数。后⾯每组数据读⼊⼀个数t,0<=t<246060。 输出格式 每组数据⼀⾏,HH:MM:SS。 样例输⼊ 2 0 86399 样例输出 00:00:00 23:59...

明月寄天涯的博客 417

【ECCV 2024】动态范围直方图自注意力DHSA,即插即用!

直方图自注意力机制,将空间特征按强度分段并进行分组,然后在各个分组内或分组间应用自注意力,以选择性地关注具有动态范围的空间特征,并处理长距离内相似退化的像素。

qq_43303160的博客 1846

试题 算法提高 计算时间(Java)

资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定一个t,将t秒转化为HH:MM:SS的形式,表示HH小时MM分钟SS秒。HH,MM,SS均是两位数,如果小于10用0补到两位。 输入格式 第一行一个数T(1<=T<=100,000),表示数据组数。后面每组数据读入一个数t,0<=t<246060。 输出格式 每组数据一行,HH:MM:SS。 样例输入 2 0 86399 样例输出 00:00:00 23:59:59 Scanner输入超时!!!借鉴了别人的ja

qq_40930715的博客 343

WPS JS宏实战:批量调整200个Word表格格式的避坑指南(附完整代码)

本文提供了一份详尽的WPS JS宏实战指南,针对批量调整大量Word表格格式的需求。文章深入解析了如何利用JS宏自动化设置字体、行距和边框,并重点解决了常见的“首行访问报错”等核心难题,附有可直接使用的完整代码,帮助用户显著提升文档处理效率。

weixin_29280219的博客 430

Hyper-V显卡直通实战:手把手解决Windows 11虚拟机错误码43(附完整参数配置)

本文详细解析了在Windows 11 Hyper-V虚拟机中配置显卡直通时遭遇错误码43的根源,并提供了从环境检查、核心PowerShell命令(如Set-VMGpuPartitionAdapter)配置到虚拟机内驱动替换的完整实战解决方案,帮助用户彻底解决显卡驱动无法加载的问题。

weixin_29238147的博客 905

JAVA-蓝桥杯-算法提高-计算时间

问题描述   给定一个t,将t秒转化为HH:MM:SS的形式,表示HH小时MM分钟SS秒。HH,MM,SS均是两位数, 如果小于10用0补到两位。 输入格式   第一行一个数T(1<=T<=100,000),表示数据组数。后面每组数据读入一个数t,0<=t<24*60*60。 输出格式   每组数据一行,HH:MM:SS。 提醒:这道题需要考虑的条件比较多,需要细心、 ...

YCCX_LHH21的博客 362

ABAP CDS HAVING 全解析:聚合之后的精准过滤、最佳实践与可运行示例

摘要: 本文针对具备ABAP与CDS基础的开发者,详解HAVING在ABAP CDS中的核心用法。HAVING专用于过滤GROUP BY后的聚合结果(如SUM、COUNT),与WHERE的分工明确:前者处理聚合值,后者过滤原始记录。通过销售额阈值、质量分析、财务对账三类典型场景,结合性能优化建议(如优先使用WHERE索引过滤),说明实际应用。文中提供经典CDS View与View Entity两种实现代码,并附Open SQL消费示例,帮助开发者快速落地。常见误区(如聚合条件误写至WHERE)与规避方法亦被

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 226

蓝桥杯 ADV-127 算法提高 日期计算

问题描述   已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。 输入格式   输入只有一行   YYYY MM DD 输出格式   输出只有一行   W 数据规模和约定   1599   1   1   1 样例输入 2011 11 11 样例输出 5 #include us

柳婼 の blog 652

Android 12.0 系统开机设置默认横屏显示

在12.0的系统产品开发中,对于产品需求来说,由于是宽屏设备所以产品需要开机默认横屏显示,开机横屏显示这就需要从两部分来实现,一部分是开机动画横屏显示,另一部分是系统显示横屏显示,从这两方面就可以做到开机默认横屏显示了。

安卓兼职framework和app工程师的博客 3745

地平线旭日X3开发板--使用Opencv显示CSI摄像头例程

但是从libsrcampy获取的摄像头图像格式是NV12,无法直接在opencv上显示或者处理,调试过程发现旭日派无法直接用opencv的VideoCapture()调用CSI摄像头,需要使用opencv来做开发的小伙伴可以做个参考,效果如下图所示。需要使用libsrcampy库来获取CSI摄像头图像,为了能够使用opencv的API来处理图像,需要增加NV12转化成bgr像素格式的函数。opencv显示图像.png。

bingdund的博客 543

算法笔记_154:算法提高 日期计算(Java)

目录 1 问题描述 2 解决方案   1 问题描述 问题描述   已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。 输入格式   输入只有一行  YYYY MM DD 输出格式   输出只有一行  W 数据规模和约定   1599 &lt;= YYYY &lt;= 2999  1 &...

weixin_34341229的博客 176

YOLOv8轻量化模型瘦身术:深度解析与实战LAMP剪枝 YOLOv8(2021)

YOLOv8模型LAMP剪枝技术解析与实战 本文深入探讨了LAMP剪枝技术在YOLOv8目标检测模型中的应用。针对深度学习模型部署面临的资源限制问题,LAMP剪枝通过最小化L2失真和层自适应稀疏度分配,实现了高效模型压缩。相比传统幅度剪枝的"一刀切"方法,LAMP创新性地将剪枝建模为优化问题,定义LAMP分数来衡量权重重要性,自动确定各层最佳剪枝率。文章从理论基础出发,详细解析了LAMP的核心数学公式和算法流程,并提供了完整的YOLOv8移植实战指南,包括代码结构、剪枝步骤和微调策略。通

FJN110的博客 2423

蓝桥杯题库 算法提高非vip部分(C++、Java)代码实现(101-200)

文章目录ADV-103 逆序排列cpp:java:ADV-112 c++_ch02_01cpp:java:ADV-120 6-17复数四则运算cpp:java:ADV-123 概率计算cpp:java:ADV-127 日期计算cpp:java:ADV-141 判断名次cpp:java:ADV-143 扶老奶奶过街cpp:java:ADV-144 01背包cpp:java:ADV-147 学霸的迷宫...

薛崇祥的博客 2900

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

算法提高 ADV-12 计算时间

问题描述   给定一个t,将t秒转化为HH:MM:SS的形式,表示HH小时MM分钟SS秒。HH,MM,SS均是两位数,如果小于10用0补到两位。 输入格式   第一行一个数T(1 输出格式   每组数据一行,HH:MM:SS。 样例输入 2 0 86399 样例输出      00:00:00      23:59:59 imp

笑容刺眼 928

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

算法提高 计算时间

问题描述   给定一个t,将t秒转化为HH:MM:SS的形式,表示HH小时MM分钟SS秒。HH,MM,SS均是两位数,如果小于10用0补到两位。 输入格式   第一行一个数T(1 输出格式   每组数据一行,HH:MM:SS。 样例输入 2 0 86399 样例输出 00:00:00 23:59:59 {

最有趣的编程 1211

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

算法提高 日期计算

问题描述   已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。 输入格式   输入只有一行   YYYY MM DD 输出格式   输出只有一行   W 数据规模和约定   1599 <= YYYY <= 2999   1 <= MM <= 12   1 <= DD <= 31,且确保测试样例中YY

戴璞微的学习之路 814

Java实现 蓝桥杯VIP 算法提高 计算时间

算法提高 计算时间 时间限制:1.0s 内存限制:512.0MB 问题描述   给定一个t,将t秒转化为HH:MM:SS的形式,表示HH小时MM分钟SS秒。HH,MM,SS均是两位数,如果小于10用0补到两位。 输入格式   第一行一个数T(1<=T<=100,000),表示数据组数。后面每组数据读入一个数t,0<=t<246060。 输出格式   每组数据一行,HH:...

南 墙 1万+

算法提高 日期计算(Java)

问题描述 已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。 输入格式 输入只有一行   YYYY MM DD 输出格式 输出只有一行   W 数据规模和约定 1599 <= YYYY <= 2999   1 <= MM <= 12   1 <= DD <= 31,且确保测试样例中YYYY年MM月DD日是一个合理日期   1 <= W <= 7,分别代表周一到周日 样例输入 2011

马克菠萝包ଲ的博客 242

蓝桥杯 算法提高 日期计算(java)

问题描述  已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。输入格式  输入只有一行  YYYY MM DD输出格式  输出只有一行  W数据规模和约定  1599 &lt;= YYYY &lt;= 2999  1 &lt;= MM &lt;= 12  1 &lt;= DD &lt;= 31,且确保测试样例中YYYY年...

Tim的嵌入式之旅 548

蓝桥杯 算法提高 日期计算

算法提高 日期计算   时间限制:1.0s   内存限制:256.0MB      问题描述   已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。 输入格式   输入只有一行   YYYY MM DD 输出格式   输出只有一行   W 数据规模和约定

Java识堂,一个有干货的微信公众号 1558

算法提高 日期计算

问题描述   已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。 输入格式   输入只有一行   YYYY MM DD 输出格式   输出只有一行   W 数据规模和约定   1599   1   1 <= DD <= 31,且确保测试样例中YYYY年MM月DD日是一个合理日期   1 样例输入 20

陈言必行 -- Unity游戏开发领域优质博主 942

蓝桥杯 ADV-12 算法提高 计算时间

问题描述给定一个t,将t秒转化为HH:MM:SS的形式,表示HH小时MM分钟SS秒。HH,MM,SS均是两位数,如果小于10用0补到两位。输入格式第一行一个数T(1&lt;=T&lt;=100,000),表示数据组数。后面每组数据读入一个数t,0&lt;=t&lt;24*60*60。输出格式每组数据一行,HH:MM:SS。样例输入2 0 86399样例输出00:00:00 23:59:59 #...

柳婼 の blog 665

日期计算

问题描述   已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。 输入格式   输入只有一行   YYYY MM DD 输出格式   输出只有一行   W 数据规模和约定   1599   1   1   1 样例输入 2011 11 11 样

5年Java后端研发,分享个人读书学习笔记。 1102

算法提高 日期计算&算法提高 5-3日历

算法提高 日期计算 问题描述   已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。 输入格式   输入只有一行   YYYY MM DD 输出格式   输出只有一行   W 数据规模和约定   1599   1   1   1 样例输入

ReidSC的博客 1451
上一篇: 学嵌入式开发必看!!
下一篇: 蓝桥杯 PREV-32 历届试题 分糖果 (java)
mainn
博客等级 码龄10年 865粉丝 447原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值