藍橋杯 日期計算

2021-10-01 05:16:37 字數 1157 閱讀 5161

問題描述

已知2023年11月11日是星期五,問yyyy年mm月dd日是星期幾?

注意考慮閏年的情況。尤其是逢百年不閏,逢400年閏的情況。

輸入格式

輸入只有一行

yyyy mm dd

輸出格式

輸出只有一行

w樣例輸入

2011 11 11

樣例輸出

資料規模和約定

1599 <= yyyy <= 2999

1 <= mm <= 12

1 <= dd <= 31,

且確保測試樣例中yyyy年mm月dd日是乙個合理日期 1 <= w <= 7,

分別代表周一到週日

思路解析

用蔡勒公式可以簡單的求解日期推算星期問題

**

#include

#include

#include

#include

#include

using

namespace std;

intmain()

if(year>=

1582

&&month>=

10&&day>=4)

x =(day +1+

2* month +3*

( month +1)

/5+ year + year /

4- year /

100+ year /

400)%7

;else

x =(day +1+

2* month +3*

( month +1)

/5+ year + year /4+

5)%7

;printf

("%d\n"

, x)

;return0;

}

輸出結果

藍橋杯 日期計算

演算法提高 日期計算 時間限制 1.0s 記憶體限制 256.0mb 問題描述 已知2011年11月11日是星期五,問yyyy年mm月dd日是星期幾?注意考慮閏年的情況。尤其是逢百年不閏,逢400年閏的情況。輸入格式 輸入只有一行 yyyy mm dd 輸出格式 輸出只有一行 w 資料規模和約定 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,且確保測試...