問題描述
已知2023年11月11日是星期五,問yyyy年mm月dd日是星期幾?注意考慮閏年的情況。尤其是逢百年不閏,逢400年閏的情況。
輸入格式
輸入只有一行
yyyy mm dd
輸出格式
輸出只有一行
w資料規模和約定
1599 <= yyyy <= 2999
1 <= mm <= 12
1 <= dd <= 31,且確保測試樣例中yyyy年mm月dd日是乙個合理日期
1 <= w <= 7,分別代表周一到週日
樣例輸入
2011 11 11
樣例輸出
5
#include
#include
using
namespace std;
int mouth[13]
=;int yy,mm,dd;
int day=
0,k=
0,i;
boolpd(
int n)
voida(
)else
day+
=(yy-
2011-1
)*365+k;
//中間間隔的整年差
for(i=
1;i) day+
=dd;if(
pd(yy)
&&mm>2)
day++
; day+=50
;}int zz=
((day)%7
+5)%
7;if(
!zz)cout<<7;
else
cout<}voidb(
)}else
day+=(
2011
-yy-1)
*365
+k;//中間間隔的整年差
for(i=
12;i>mm;i--
) day+
=mouth[mm]
-dd;if(
pd(yy)
&&mm<=2)
day++
; day+
=315
;}day=(5
-day%7)
>0?
(5-day%7)
:-1*
(5-day%7)
;if(!day)cout<<7;
else
cout<}int
main()
藍橋杯 演算法提高 日期計算
這種型別的問題其實不難,就是要考慮的方面多一些。大概的解決辦法就是先把兩個年份之間的天數算出來,在精確求出該年份內的天數 起始日期定為 x年1月1日比較好算 注意要分為在起始日期之前還是之後,這得分開算。include using namespace std bool isleapyear int ...
藍橋杯 演算法提高 日期計算
問題描述 已知2011年11月11日是星期五,問yyyy年mm月dd日是星期幾?注意考慮閏年的情況。尤其是逢百年不閏,逢400年閏的情況。輸入格式 輸入只有一行 yyyy mm dd 輸出格式 輸出只有一行 w 資料規模和約定 1599 yyyy 2999 1 mm 12 1 dd 31,且確保測試...
藍橋杯 演算法提高 日期計算
author chenmingdong 問題描述 已知2011年11月11日是星期五,問yyyy年mm月dd日是星期幾?注意考慮閏年的情況。尤其是逢百年不閏,逢400年閏的情況。通過電腦諮詢到2016年1月1日也是 星期五 include int judge int year int get yea...