描述
在我們現在使用的日曆中, 閏年被定義為能被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...