LQ0202 世纪末的星期日期计算
Posted 海岛Blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LQ0202 世纪末的星期日期计算相关的知识,希望对你有一定的参考价值。
题目来源:蓝桥杯2013初赛 Java A组A题
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
曾有邪教称 1999 年 12 月 31 日是世界末日。当然该谣言已经不攻自破。
还有人称今后的某个世纪末的 12 月 31 日,如果是星期一则会…
有趣的是,任何一个世纪末的年份的 12 月 31 日都不可能是星期一!!
于是,“谣言制造商”又修改为星期日…
1999 年的 12 月 31 日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即 xx99 年)的 12 月 31 日正好是星期天(即星期日)?
请回答该年份(只写这个 4 位整数,不要写 12 月 31 等多余信息)
问题分析
日期计算问题,从2000年开始算。
AC的C语言程序如下:
/* LQ0202 世纪末的星期 */
#include <stdio.h>
int main()
int year = 1999 + 1, day = 5;
for (; ; year++)
day += 365 + ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0);
if ((day %= 7) == 0 && year % 100 == 99)
printf("%d\\n", year);
break;
return 0;
以上是关于LQ0202 世纪末的星期日期计算的主要内容,如果未能解决你的问题,请参考以下文章