2012年6月13日水曜日

復活祭公式

復活祭からずいぶんたって, いまや聖ヨハネ節が近い. 気が抜けた話題だが, Winning Waysを眺めていたら, そこにも復活祭公式があった. 存外簡単である.

復活祭は春分満月の後の日曜であり, そこで春分満月の公式が重要である.

本書によると, 春分満月の日は

(4月19日=3月50日)-(11G+C)mod 30

だが, それが4月19日なら4月18日にする; 4月18日でG>=12なら4月17日にする.
ただし黄金数Gは
G=(年 mod 19)+1
世紀項Cは
19xx, 20xx, 21xx年は-6.

2012年で計算すると

(+ (modulo 2012 19) 1) => 18   ;G
(modulo (+ (* 11 18) -6) 30) => 12

従って19-12で4月7日になる.

次に本書によると3月28日をDoomsday(最後の審判の日)といい, 今年は水曜であった. すると3月25日が日曜, 4月1日が日曜, 4月8日が日曜で, 復活祭はまだ記憶にあるように4月8日であった.

Doomsdayの曜日は, (世紀初頭のDoomsday+その後の年に12が含まれる数+その余りの数+その余りに4が含まれる数)mod 7と計算でき, 21世紀初頭(2000年)は火曜であった.

従って2012年は

(let ((y 12))
(+ (quotient y 12) (modulo y 12) (quotient (modulo y 12) 4)))
=> 1

で水曜だ.

Gregorian暦の曜日は400年で一周するから, 世紀初頭の曜日は2000年の火曜から始まり, 2100年日曜, 2200年金曜, 2300年水曜で循環する. (100年に閏年が24回だと5日進み, 25回だと6日進む. 2000年3月28日は閏日を過ぎているから, 2100年3月28日までは25回だと6日進む. 2000年3月28日は閏日を過ぎているから, 2100年3月28日までは5日進んで, 水木金土日, 次も月火水木金, 次も土日月火水, 最後が6日進んで木金土日月火になるわけだ.)

我々は当面火曜を覚えておけば暮らしていける.

0 件のコメント: