万能の曜日計算法

 閏年まで配慮した曜日計算の式があります。「ツェラーの公式」という有名な曜日計算の公式があるんですね。
 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…ただし,上記の式とは若干式が異なります。

comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*