星期的計算 – 判決日法則(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/14 | 4/4 | 5/9 | 6/6 | 7/11 |
五 | 五 | 五 | 五 | 五 |
8/8 | 9/5 | 10/10 | 11/7 | 12/12 |
五 | 五 | 五 | 五 | 五 |
然而這個規則拓展到1,2月時要注意閏年 :
-70(一般) | -70(閏年) | -14(一般) | -14(閏年) |
1/3 | 1/4 | 2/28 | 2/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 = 星期四