閏年まで配慮した曜日計算の式があります。「ツェラーの公式」という有名な曜日計算の公式があるんですね。
h百y年m月d日の曜日を求めましょう。
(例えば、2008年2月29日の場合,h=20,y=7,m=14,d=29 である)
ただしこの式では 1月,2月は,それぞれ前の年の13月,14月として計算する。
W=y+[y/4]+[h/4]-2h+[13(m+1)/5]+d …ツェラーの式
の値を求める。[X] は、ガウスの記号と呼ばれる記号で、Xを超えない最大の整数となる(つまり整数部分)。
このWを7で割ったときのあまりで曜日が決まります。日=1,月=2,火=3,水=4,木=5,金=6,土=0
これで本日を計算すると6となり金曜日です。
【参考】
曜日計算
情報処理教科書弱点克服アルゴリズムの解き方 (情報処理教科書) p158…ただし,上記の式とは若干式が異なります。