1 13 32 日曆問題

2021-10-20 11:53:39 字數 2032 閱讀 1265

描述

在我們現在使用的日曆中, 閏年被定義為能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它們不是閏年。例如:1700, 1800, 1900 和 2100 不是閏年,而 1600, 2000 和 2400是閏年。 給定從公元2023年1月1日開始逝去的天數,你的任務是給出這一天是哪年哪月哪日星期幾。

輸入輸入一行,每行包含乙個正整數,表示從2023年1月1日開始逝去的天數。資料保證結果的年份不會超過9999。

輸出輸出一行,該行包含對應的日期和星期幾。格式為「yyyy-mm-dd dayofweek」, 其中 「dayofweek」 必須是下面中的乙個: 「sunday」, 「monday」, 「tuesday」, 「wednesday」, 「thursday」, 「friday」 或 "saturday「。

樣例輸入

1樣例輸出

2000-01-02 sunday

#include

#include

#include

using

namespace std;

int monthdays[12]

=;string weeks[7]

=;bool

isleap

(int year)

;string getweek

(int year,

int month,

int day)

;int

main()

else

}else

else}}

switch

(month)

days-=31

;case2:

if(days-

28<0)

if(isleap

(year)

) days--;}

days-=28

;case3:

if(days-

31<0)

days-=31

;case4:

if(days-

30<0)

days-=30

;case5:

if(days-

31<0)

days-=31

;case6:

if(days-

30<0)

days-=30

;case7:

if(days-

31<0)

days-=31

;case8:

if(days-

31<0)

days-=31

;case9:

if(days-

30<0)

days-=30

;case10:

if(days-

31<0)

days-=31

;case11:

if(days-

30<0)

days-=30

;case12:

month=12;

} day = days;

week =

getweek

(year,month,day)

; cout<"-";

if(month<10)

cout<<

"0";

cout<"-";

if(day<10)

cout<" ";

cout

}bool

isleap

(int year)

return

false;}

string getweek

(int year,

int month,

int day)

else

}for

(int i=

1;i(month >2&&

isleap

(year)

) week = days%7;

return weeks[week]

;}

1064 日曆問題

時間限制 10 sec 記憶體限制 128 mb 提交 766 解決 412 提交 狀態 討論版 在我們現在使用的日曆中,閏年被定義為能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它們不是閏年。例如 1700,1800,1900 和 2100 不是閏年,而 1600,2000 和...

1006日曆問題

題目描述 在我們現在使用的日曆中,閏年被定義為能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它們不是閏年。例如 1700,1800,1900 和 2100 不是閏年,而 1600,2000 和 2400是閏年。給定從公元2000年1月1日開始逝去的天數,你的任務是給出這一天是哪年...

32 日曆問題

總時間限制 1000ms 記憶體限制 65536kb 描述在我們現在使用的日曆中,閏年被定義為能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它們不是閏年。例如 1700,1800,1900 和 2100 不是閏年,而 1600,2000 和 2400是閏年。給定從公元2000年1...