本题目主要解决如下几个问题:
**1、该月的1号是星期几;
2、该月份有几天;
3、2月份天数的特殊处理;
4、输出格式问题。**
我们来一次解决如上问题:
###### 问题1:该月的1号是星期几
我们知道星期几是以7天作为循环周期的,我们分别用**0~6**这几个数字,分别代表星期天到星期六。
![](/image_editor_upload/20191003101309_54683.jpg)
为此我们可以用**余数**的方法来求得第k天后是星期几。
我们先用简单的来计算一下,现已知**今天是星期天**,第k天后是星期几,我们可以观察下图,得出一个规律:第k天后是星期**k%7**(如果是0代表星期天)
![](/image_editor_upload/20191003103259_89072.jpg)
题目给的已知条件是星期一,现要求第k天是星期几,这里的k是2007/1/1到所要求的XXXX年XX月1日的总天数,为此我们得到
第k天后是星期**(k-(7-1))%7**,这里的1是指星期一所对应序号1,因为我们是从星期一开始计算的,而减去(7-1)是为了把初始值变成星期天,方便计算。
通过余数的计算我们把(k-(7-1))%7化简一下:
( k - (7-1))%7
=( k - 7 + 1 )%7
=( k%7 - 7%7 + 1%7 )%7
=**( k%7 + 1)%7**
(只要知道总天数,代入该式就可求出XX