用python解题。题目描述 请编程统计:从1900年1月1日(当天是星期一)开始经过的n年当中,每个月的13号这一天是星期一、星期二、星期三、……、星期日的次数分别是多少? 输入 共一行,一个整数n (1≤n≤400)。 输出 仅一行, 有7个整数(依次是星期一、星期二、星期三、……、星期日的次数),各数间以空格相隔。 样例输入 1 样例输出 1 3 1 2 2 2 1
时间: 2023-05-30 09:05:59 浏览: 190
Python简单计算给定某一年的某一天是星期几示例
5星 · 资源好评率100%
解题思路:
首先,我们需要知道1900年1月1日是星期一。然后,我们可以预处理出从1900年到3999年的每个月13号是星期几。这里我们可以使用Zeller公式。
Zeller公式:
weekday = (year + ⌊year/4⌋ + ⌊century/4⌋ - 2*century + ⌊13*(month+1)/5⌋ + day - 1) mod 7
其中,year为年份(例如2019年),century为世纪数(例如20世纪为19,21世纪为20),month为月份(1月为1,2月为2,以此类推),day为日期(例如1日为1,2日为2,以此类推),mod为取模运算,⌊⌋表示向下取整。
根据Zeller公式,我们可以预处理出从1900年到3999年每个月13号是星期几。然后,统计出每个星期出现的次数即可。
具体实现见代码:
阅读全文