星期的計算 – 判決日法則(Doomsday Rule)

星期的計算 – 判決日法則(Doomsday Rule)

判決日法則是一種計算一年中的某一天是星期幾的心算法。

在解釋原理之前,我們首先用愛因斯坦的生日來舉例,因為這天剛好是很容易記得的圓周率日(Pi Day) – 1879/03/14(星期五):

3/14

接下來考慮星期是每隔七天會循環一次,而且每年的3~12月的天數都是固定的,我們可以知道3/14再加上7的倍數日後會是相同的星期 :

3/14+21+56+84+119
+147+175+210+238+273

實際把日期換算出來後,我們可以發現一個相對好記的規律,圓周率日與5/9、9/5、7/11、11/7還有偶數同日月時都是相同星期,可以記做偶數月時我在7-11朝9晚5 :

3/144/45/96/67/11
8/89/510/1011/712/12

然而這個規則拓展到1,2月時要注意閏年 :

-70(一般)-70(閏年)-14(一般)-14(閏年)
1/31/42/282/29

記住以上的規則之後,你只需要知道一年的圓周率日是星期幾,就可以根據每個月份的特殊日來推算任何一天是星期幾了。

那如果想表演計算任何人的生日該怎麼辦呢?我們會需要一個方法知道任意年的判決日是星期幾,由於一年的天數(365)是7的倍數加1天,因此每年的判決日會往後遞移一天,遇到閏年時再加上一天。而以生日來說應該不用考慮1900年之前,而且100年內的閏年規則只需要考慮4年加一天,記住1900年(三)以及2000年(二)的判決日應該是不錯的起點。

以蘇聯解體日(1991/12/26)作為範例 :

1991 = 1900 + 91 = 1900 + 4 * 22 + 3

這表示1991的判決日除了從(三)遞移91次需要額外再加上22次閨年 :

3 + 91 + 22 = 116;116 除以 7 餘 4(四)

因此1991/12/26的星期就是12/12(四) + 14 = (四) + 7 * 2 = 星期四


Reference

Doomsday rule – Wikipedia

The Doomsday Algorithm – Numberphile – YouTube

Leave a Reply

Your email address will not be published. Required fields are marked *