高斯日記
大數學家高斯有個好習慣:無論如何都要記日記。
他的日記有個與眾不同的地方,他從不註明年月日,而是用乙個整數代替,比如:4210
後來人們知道,那個整數就是日期,它表示那一天是高斯出生後的第幾天。這或許也是個好習慣,它時時刻刻提醒著主人:日子又過去一天,還有多少時光可以用於浪費呢?
高斯出生於:2023年4月30日。
在高斯發現的乙個重要定理的日記上標註著:5343,因此可算出那天是:2023年12月15日。
高斯獲得博士學位的那天日記上標著:8113
請你算出高斯獲得博士學位的年月日。
通過計算可以得出,他所記錄的數字是距離自己出生日期的天數,所以我們只要在他出生日期的基礎上,加上他所記錄的數字,即為這一事件發生的時間。
由此,我們的思路就是要判斷每一年、每一月的天數,然後才可以判斷出時間發生的具體日期。
我的思路是,每過一天高斯所記錄的這個數字就-1,當這個數字為零時的日期就是事件發生的日期。因此就要知道每個月的天數,也就要判斷閏年,下面是問題的解法
/*
高斯日記
*/#includeusing namespace std;
/*判斷閏年*/
int gudge(int n)
int main()
; /*日記資料*/
int days = 0;
/*初始年*/
int year = 1777;
/*初始月*/
int month = 4;
cin >> days;
days += 30;//四月已經過去的30天,加入到總和中,下面迴圈從四月開始,可以再減去這30天
days--;//出生當天也算一天
while (days >= month_array[month])
days -= month_array[month];//減去當月天數
month++;
month %= 13;
} cout << "year:" << year << " month:" << month << " day:" << days << endl;
return 0;
}
藍橋杯高斯日記
他的日記有個與眾不同的地方,他從不註明年月日,而是用乙個整數代替,比如 4210 後來人們知道,那個整數就是日期,它表示那一天是高斯出生後的第幾天。這或許也是個好習慣,它時時刻刻提醒著主人 日子又過去一天,還有多少時光可以用於浪費呢?高斯出生於 1777年4月30日。在高斯發現的乙個重要定理的日記上...
藍橋杯 高斯日記
回到家已經兩天,打算開始學習,為藍橋杯方向努力!本人還是渣渣,所以只能借鑑他人,慢慢積累,一點一點學起 大數學家高斯有個好習慣 無論如何都要記日記。他的日記有個與眾不同的地方,他從不註明年月日,而是用乙個整數代替,比如 4210 高斯出生於 1777年4月30日。在高斯發現的乙個重要定理的日記上標註...
藍橋杯 高斯日記
大數學家高斯有個好習慣 無論如何都要記日記。他的日記有個與眾不同的地方,他從不註明年月日,而是用乙個整數代替,比如 4210。後來人們知道,那個整數就是日期,它表示那一天是高斯出生後的第幾天。這或許也是個好習慣,它時時刻刻提醒著主人 日子又過去一天,還有多少時光可以用於浪費呢?高斯出生於 1777年...