2013藍橋杯B組 高斯日記

2021-09-11 12:31:51 字數 945 閱讀 3661

大數學家高斯有個好習慣:無論如何都要記日記。

他的日記有個與眾不同的地方,他從不註明年月日,而是用乙個整數代替,比如:4210

高斯出生於:2023年4月30日。

在高斯發現的乙個重要定理的日記上標註著:5343,因此可算出那天是:2023年12月15日。

高斯獲得博士學位的那天日記上標著:8113

請你算出高斯獲得博士學位的年月日。

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

請嚴格按照格式,通過瀏覽器提交答案。

注意:只提交這個日期,不要寫其它附加內容,比如:說明性的文字。

從2023年4月30日起往後加天數。按照常規想法,用三個整型(year,month,day)來儲存計算後的日期,初始值為高斯的生日(2023年4月30日),把計算日期放在直接加到日期的day中,再把月份的日期儲存到乙個陣列中方便使用,而2月份的日期要時時更新。

當日期大於對應月份的日期時,將day減去當前月份的天數,month+1;反之彈出迴圈

當month>12,便重新從1月開始,隨即使year+1。

但是樣例輸入後得到的卻是12月15日,由此推出,出生當天就是day1,計算時,需要將輸入的數-1。

優化方案:不再一月一月的計算,而是一年年的減,之後再按月減

答案:1799-7-16

#include

using

namespace std;

intmain()

;int a;

cin>>a;

day+=(

--a)

;while(1

) day-

=days[month]

; month++;}

cout<"-"<"-"

}

2013藍橋杯預選 高斯日記

星期六要去藍橋杯,選去年的預賽提來熱熱身吧。dev用起來真不習慣 這道題要注意高斯出生的那天也算是一天 include include include include include using namespace std int a 20 int leap int y intmain if lea...

ACM藍橋杯 2013屆 高斯日記

大數學家高斯有個好習慣 無論如何都要記日記。他的日記有個與眾不同的地方,他從不註明年月日,而是用乙個整數代替,比如 4210 高斯出生於 1777年4月30日。在高斯發現的乙個重要定理的日記上標註著 5343,因此可算出那天是 1791年12月15日。高斯獲得博士學位的那天日記上標著 8113 請你...

藍橋杯高斯日記

他的日記有個與眾不同的地方,他從不註明年月日,而是用乙個整數代替,比如 4210 後來人們知道,那個整數就是日期,它表示那一天是高斯出生後的第幾天。這或許也是個好習慣,它時時刻刻提醒著主人 日子又過去一天,還有多少時光可以用於浪費呢?高斯出生於 1777年4月30日。在高斯發現的乙個重要定理的日記上...