首页 > 其他 > 详细

高斯日记(蓝桥杯2013 B组1)

时间:2020-04-14 11:52:59      阅读:66      评论:0      收藏:0      [点我收藏+]
大数学家高斯有个好习惯:无论如何都要记日记。
他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210
后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主 人:日子又过去一天,还有多少时光可以用于浪费呢?
高斯出生于:1777年4月30日。
在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。
高斯获得博士学位的那天日记上标着:8113
请你算出高斯获得博士学位的年月日。
 
提交答案的格式是:yyyy-mm-dd, 例如:1980-03-21
请严格按照格式,通过浏览器提交答案。
注意:只提交这个日期,不要写其它附加内容,比如:说明性的文字。

  这道题感觉没啥可说的,注意点小细节(比如闰年,第一天等)就可以了
 
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int num=8113;//5343
 4 bool isp(int n){
 5     if(n%4==0&&n%100!=0||n%400==0){
 6         return true;
 7     }
 8     return  false;
 9 }
10 
11 int main() {
12     int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
13     int year=1777,month=4,day=30;
14     int n=num-1;              //出生后的第几天,居然要把出生当天也算上所以这里用num-1 
15     while(n--){   
16         if(isp(year)){
17             a[2]=29;
18         }
19         else{
20             a[2]=28;
21         }
22         day++;
23         if(day>a[month]){
24             day=1;
25             month++;
26             if(month>12){
27                 month=1;
28                 year++;
29             }
30         }
31     }
32     printf("%d-%02d-%02d\n",year,month,day);
33     return 0;
34 }

 


高斯日记(蓝桥杯2013 B组1)

原文:https://www.cnblogs.com/NoWhiteBut/p/12696964.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!