藍橋杯 日期計算

2021-07-09 14:12:55 字數 1063 閱讀 5809

演算法提高 日期計算  

時間限制:1.0s   記憶體限制:256.0mb

問題描述

已知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

哎哎,只有80分,總有一組測試資料沒過,覺得有時候藍橋杯的測評系統也挺坑的。這次不是vip也無法檢視到底是哪個坑爹的資料沒過。思路還是可以的。

#includeint days[13]= ;

int days2[13]= ;

int main()

else

flag=1;}}

else

flag=1;

}int sum=0,dd;

if(flag)

if(y%4==0||y%400==0&&y%100!=0)

else

dd=sum%7;

if(dd==5)

printf("6\n");

else if(dd==6)

printf("7\n");

else

printf("%d\n",5-sum%7);

}else

else

if(y%4==0&&y%100!=0||y%400==0)

else

dd=sum%7;

if(dd<=2)

printf("%d\n",5+dd);

else

printf("%d\n",dd-2);}}

}return 0;

}

藍橋杯 日期計算

問題描述 已知2011年11月11日是星期五,問yyyy年mm月dd日是星期幾?注意考慮閏年的情況。尤其是逢百年不閏,逢400年閏的情況。輸入格式 輸入只有一行 yyyy mm dd 輸出格式 輸出只有一行 w樣例輸入 2011 11 11 樣例輸出 資料規模和約定 1599 yyyy 2999 1...

藍橋杯 演算法提高 日期計算

這種型別的問題其實不難,就是要考慮的方面多一些。大概的解決辦法就是先把兩個年份之間的天數算出來,在精確求出該年份內的天數 起始日期定為 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,且確保測試...