东方博弈OJ 1853:黑色星期五 ← 模拟题
【题目来源】
【题目描述】
有些西方人比较迷信,如果某个月的 13 号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是“诸事不宜”。请你编写一个程序,统计出在某个特定的年份中,出现了多少次既是 13 号又是星期五的情形,以帮助你的迷信朋友解决难题。
说明:
(1)一年有 365 天,闰年有 366 天,所谓闰年,即能被 4 整除且不能被 100 整除的年份,或是既能被 100 整除也能被 400 整除的年份;
(2)已知 1998 年 1 月 1 日是星期四,用户输入的年份肯定大于或等于 1998 年。
【输入格式】
输入只有一行,即某个特定的四位数的年份(大于或等于 1998 年)。
【输出格式】
输出只有一行,即在这一年中,出现了多少次既是 13 号又是星期五的情形。
【输入样例】
2026
【输出样例】
3
【数据范围】
年份(大于或等于 1998 年)
【算法分析】
● 设输入的年份是 x,则代码 int jan1Week=(4+totalDays)%7; 得到 x 年 1 月 1 日是星期几?其中,totalDays 表示 1998 年 1 月 1 日至第 x-1 年最后一天的总天数。

据上图,可以容易理解上面红色代码得到的是某年元旦那天是星期几?因为1998年元旦那天作为一天参与计算了。
【算法代码】
【参考文献】
/

浙公网安备 33010602011771号