蓝桥杯--高斯日记

来源:互联网 发布:人工智能简史 pdf 编辑:程序博客网 时间:2024/06/08 17:55


题目标题: 高斯日记

    大数学家高斯有个好习惯:无论如何都要记日记。

    他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210

    后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?

    高斯出生于:1777年4月30日。
 
    在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。

    高斯获得博士学位的那天日记上标着:8113   

    请你算出高斯获得博士学位的年月日。

提交答案的格式是:yyyy-mm-dd, 例如:1980-03-21

请严格按照格式,通过浏览器提交答案。

注意:只提交这个日期,不要写其它附加内容,比如:说明性的文字。



代码:

#include <stdio.h>int main(){    int y,m,d,n,month[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};    y=1777;    m=4;    d=30;    scanf("%d",&n);//输入天数    while(n--)    {        d++;        if(m==2&&d==28)        {            if((y%4==0&&y%100!=0)||(y%400==0))//判断闰年                month[2]=29;            else month[2]=28;        }        if(d>month[m])        {            m++;            d=1 ;            if(m>12)            {                m=1;                y++;            }        }    }    d=d-1;//第一天为出生日期    if(d==0)//根据实际情况修复bug,不可能出现5-0这样的日期    {        m--;        d=month[m];    }    printf("%d-%d-%d",y,m,d);    return 0;}
运算结果:




原创粉丝点击