用一個簡單的方法即可算出某年某月某日是一星期中的哪一天。可惜的是,在中小學的數學課程裏,都沒有提到此方法。其實,我們所學的數學知識,最能應用在日常生活中的,莫過於此等簡單的計算了。
當然,計算的方法可能不只一個。這裏介紹一個頗為簡單的方法:把四個數加起來然後除七的餘數就是,如果整除就是星期日。這四個數分別是:
Y(year):年份減2000
L(leap days):從2000年1月1日到該日之間的閏日數目
M(month):月份的代號,從一月到十二月分別是511462403513,即是一月是5,二、三月是1,四月是4,五月是6,如此類推,十二月是3
D(day):日號
就是說——Y+L+M+D(除7的餘數)
舉例說:2008年12月10日
(8+3+3+10)除7餘3,即該日是星期三,其中Y=8、L=3(三個閏日分別是2000年2月29日、2004年2月29日和2008年2月29日)、M=3(12月的代號是3)、D=10
再舉例:2008年2月10日
(8+2+1+10)除7餘0,即該日是星期日,其中Y=8、L=2(從2000年1月1日到2008年2月10日之間只有二個閏日:2000年2月29日和2004年2月29日)、M=1(2月的代號是1)、D=10
此公式的原理
365除七餘一,所以每過一個平年,星期數便加一。日數亦是每過一日,星
期數加一。由於2000年1月1日是星期六,0+0+x+1=6, 故1月的代號是5,而1月有31日, (5+31) 除7餘1, 故2月的代號是1,如此類推即可找出所有月份的代號。
變化一:可用負數,這時Y和L皆為負。1999年10月10日= —1—0+5+10=14≡0(mod 7)(除7的餘數),星期日
變化二:把定點移至1900,相同方法加二(年份數和閏日數由1900年計起,月日計法不變)簡單的說,在1700年或以後,2000年減100年的定點對應加2。原因:100年內有24閏日,+124=126一2≡一2 mod7,於是減100年就加2。
註:1700年、1800年、1900年皆不是閏年;2000年是。
舉例:1842年8月29日(南京條約簽署日)——用四個方法計算,結果當然一樣:
一、由1800年計起:4+(42+10+0+29)除7餘1(從1800年1月1日到1842年8月29日間的閏日數目是10個,1800年不是閏年),即該日是星期一
二、由1900年計起:2+(-58-14+0+29)除7餘1
三、由2000年計起:(-158-38+0+29)除7餘1
四、由1700年計起:6+(142+34+0+29)除7餘1
所以在某一計算中,只須用最方便的方法。