1949年的国庆节(10月1日)是星期六.......

问题:

1949年的国庆节(10月1日)是星期六。

今年(2012)的国庆节是星期一。

那么,从建国到现在,有几次国庆节正好是星期日呢?

只要答案,不限手段!

可以用windows日历,windows计算器,Excel公式,。。。。。

当然,也可以编程!

不要求写出具体是哪些年,只要一个数目!

思路:

先求出是第几天然后根据1950年1月1日是星期天,通过取余得到第i年10月一日是星期几。

代码:

#include 

int day(int y,int m,int d)
{
    int days;  //计算得到的天数
    int i;
    int a[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
    days=d;
    //下面要加上前m-1月的天数
    for(i=1; i2&&((y%4==0&&y%100!=0)||y%400==0)) //若闰年,且晚于2月,加一天
        days++;
    return days;
}
int main()
{
    int sum=0,judge=0;
    int year;
    int k;
    for(year=1950; year<=2011; year++)
    {
        sum+=day(year,10,1);
        k=(sum-1)%7;//1950年一月一日为星期天,所以得到的天数总和许减去1或加6,再取余,才能判断当天是否为星期天
        if(k==0)
        {
            judge++;
            printf("%d\n",year);
        }
    }
    printf("%d",judge);
    return 0;
}
运行结果:
1949年的国庆节(10月1日)是星期六......._第1张图片

小结:分清时间顺序。

你可能感兴趣的:(穷举爆搜)