農曆年份與西曆年份對應方法,請按此

2011年12月24日 星期六

計算星期一至日

用一個簡單的方法即可算出某年某月某日是一星期中的哪一天。可惜的是,在中小學的數學課程裏,都沒有提到此方法。其實,我們所學的數學知識,最能應用在日常生活中的,莫過於此等簡單的計算了
當然,計算的方法可能不只一個。這裏介紹一個頗為簡單的方法:把四個數加起來然後除七的餘數就是,如果整除就是星期日。這四個數分別是:

(year):年份減2000

(leap days):從200011日到該日之間的閏日數目

M(month):月份的代號,從一月到十二月分別是511462403513,即是一月是5,二、三月是1,月是4五月是6,如此類推,十二月是3

D(day):日號

就是說——Y+L+M+D(除7的餘數)

舉例說:20081210
(8+3+3+10)73即該日是星期三,其中Y=8、L=3(三個閏日分別是2000229日、2004229日和2008229日)、M=3(12月的代號是3)、D=10

再舉例:2008210
(8+++10)7餘0,即該日是星期日,其中Y=8、L=2(從200011日到2008210日之間只有二個閏日:2000229日和2004229日)、M=1(2月的代號是1)、D=10

此公式的原理
365除七餘一,所以每過一個平年,星期數便加一。日數亦是每過一日,星
期數加一。由於200011日是星期六,0+0+x+1=6, 故1月的代號是5,而1月有31日, (5+31) 71, 2月的代號是1,如此類推即可找出所有月份的代號。

變化一可用負數這時YL皆為負19991010= —1—0+5+10=140mod 7)(除7的餘數)星期日

變化二把定點移至1900,相同方法加二(年份數和閏日數由1900年計起,月日計法不變)簡單的說,在1700年或以後,2000年減100年的定點對應加2。原因100年內有24閏日+124=1262≡一2  mod7,於是100年就加2
1700年、1800年、1900年皆不是年;2000年是。


舉例:1842829(南京條約簽署日)——用四個方法計算結果當然一樣
一、由1800年計起4+(42+10+0+29)71(從1800111842829間的日數目是101800年不是年)即該日是星期
二、由1900年計起2+(-58-14+0+29)71
三、由2000年計起(-158-38+0+29)71
四、由1700年計起6+(142+34+0+29)71
所以在某一計算中只須用最方便的方法

沒有留言:

張貼留言