题目:[CSP-S2020] 儒略日 - 洛谷https://www.luogu.com.cn/problem/P7075
读题后可知,本题是一个关于时间的模拟题。
根据题意可知:
- 时间划分为两段:公元前4713 年 1 月 1 日到公元 1582 年 10 月 4 日(含)为儒略历;公元 1582 年 10 月 15 日(含)以后为格里高利历。
- 公元 1582 年 10 月 5 日(含)至 10 月 14 日(含):不存在,这些日期被删除,该年 10 月 4 日之后为 10 月 15 日。
- 格里高利历规则:每年一月 31 天、 二月 28 天或 29 天、三月 31 天、四月 30 天、五月 31 天、六月 30 天、七月 31 天、八月 31 天、九月 30 天、十月 31 天、十一月 30 天、十二月 31 天。其中,闰年的二月为 29 天,平年为 28 天。当年份是 400 的倍数,或日期年份是 4 的倍数但不是 100 的倍数时,该年为闰年。
- 儒略日规则:每月天数与格里高利历相同,但只要年份是 4 的倍数就是闰年。
- 公元零年并不存在,即公元前 1 年的下一年是公元 1 年。因此公元前 1 年、前 5 年、前 9 年、前 13 年……以此类推的年份应视为闰年。注意公元1年到公元1582年,年份是 4 的倍数才是闰年,即公元4年、公元8年……以此类推的年份应视为闰年。到公元1589年后,适用于格里高利历,当年份是 400 的倍数,或日期年份是 4 的倍数但不是 100 的倍数时,该年为闰年。
首先我们观察题目的此时数据范围可知,我们不能一天一天的计算,也不能一年一年的计算,那根据上面分析的题意可知,