#UT113. [USACO1.1.3] 星期五的十三号 Friday the Thirteenth
[USACO1.1.3] 星期五的十三号 Friday the Thirteenth
星期五的十三号
星期五的十三号真的是一个不寻常的事件吗?
也就是说,月份的第十三天是否比一周中的其他任何一天更少落在星期五?要回答这个问题,请编写一个程序,以计算在给定的 N 年期间内每个月的第十三天落在星期日、星期一、星期二、星期三、星期四、星期五和星期六的频率。测试的时间段从 1900 年 1 月 1 日到 1900 + N - 1 年的 12 月 31 日,N 是正整数,且不超过 400。
请注意,开始年份为一千九百年,而不是 1990 年。
在解决此问题之前,您需要知道几个事实:
- 1900 年 1 月 1 日是星期一。
- 九月、四月、六月和十一月都是三十天,其他月份都是三十一天,二月的天数通常是 28 天,闰年时为 29 天。
- 每一个能被 4 整除的年份是闰年(例如,1992 = 4*498,因此 1992 是闰年,但 1990 不是)。
- 上述规则不适用于整百年。能被 400 整除的世纪年是闰年,其他则不是。因此,1700、1800、1900 和 2100 为非闰年,但 2000 年是闰年。
请勿使用计算机语言中的内置日期函数。
也不要仅仅预先计算答案。
程序名称:friday
输入格式
一行包含整数 N。
示例输入(文件 friday.in)
20
输出格式
一行输出七个以空格分隔的整数。这些整数表示第十三天落在星期六、星期日、星期一、星期二、星期三、星期四和星期五的次数。
示例输出(文件 friday.out)
36 33 34 33 35 35 34
Related
In following homework: