1949年的国庆节(10月1日)是星期六。今年(2012)的国庆节是星期一。
那么,从建国到现在,有几次国庆节正好是星期日呢?
1 # include <stdio.h> 2 int yday(int year); 3 int main(void) 4 { 5 int year; 6 int n; //是星期日的天数 7 int w; //星期几 8 n = 0; 9 w = 6; 10 for(year = 1950; year < 2013; year++) 11 { w = (yday(year) % 7 + w) % 7; 12 if(w == 0) n++; 13 } 14 printf("%d", n); 15 } 16 int yday(int year) 17 { 18 if((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) 19 { 20 return 366; 21 } 22 else 23 { 24 return 365; 25 } 26 } 27 //由于 1950年是闰年 所以365天 365%7=1 也就是说 1950年的国庆节 是星期天 、 28 //那么从1950开始循环 如果 日期模7 再加上这个是星期几的w参量 然后在模7 29 //当这个数w == 0 就说明期待的星期x 个数加一