公元年月日 星期數Xm
公元0年3月1日 3
公元0年4月1日 6
公元0年5月1日 1
公元0年6月1日 4
公元0年7月1日 6
公元0年8月1日 2
公元0年9月1日 5
公元0年10月1日 0
公元0年11月1日 3
公元0年12月1日 5
公元1年1月1日 1
公元1年2月1日 4

若推算y年x月d日的星期數公式為
y+[y/4]-[y/100]+[y/400]+(d-1)+Xm(如上表 )(如11月,Xm為3)除以7之餘數
請問今年的幾月有黑色星期五(不一定只有一個)

提示:在算1月 2月時,y要用前一年的公元年
例題:請問1964年2月7日是星期幾
1963+[1963/4]-[1963/100]+[1963/400]+(7-1)+4(Xm)
=1963+490-19+4+6+4
=2450
2450/7=350...0
所以1964年2月7日是星期日

回應

2006-02-10 12:04
再另一題
1009年有幾個黑色星期五
要過程

2006-02-10 16:44
1009+[1009/4]-[1009/100]+[1009/400]+(13-1)+Xm
=1009+252-10+2+12+Xm
=1265+Xm
(1265+Xm)/7
=180+Xm/7....5+___(Xm/7餘數)
所以要取Xm為2的月份,也就是只有八月一個

2006-02-10 17:20
引用:

蔡宗翰 寫道:
1009+[1009/4]-[1009/100]+[1009/400]+(13-1)+Xm
=1009+252-10+2+12+Xm
=1265+Xm
(1265+Xm)/7
=180+Xm/7....5+___(Xm/7餘數)
所以要取Xm為2的月份,也就是只有八月一個


不太對吧
1009+[1009/4]-[1009/100]+[1009/400]+(13-1)+Xm
=1009+252-10+2+12+Xm
1253+12+Xm=7k+5
因為12/7=1...5
所以兩邊同減12得
1253+Xm=7a
1253/7=179...0
所以0+Xm=7b ,Xm=0
所以應取Xm為0的月份=>10月

另外,要檢查1月2月有沒有黑色星期五
1008+[1008/4]-[1008/100]+[1008/400]+(13-1)+Xm
=1008+252-10+2+12+Xm
1252+12+Xm=7k+5
1252+Xm=7a
1252/7=178...6
所以6+Xm=7b =>Xm=1
1月,2月中,1月的Xm為1
所以1月有黑色星期五

所以在公元1009年時
1月及10月有黑色星期五

2006-02-10 21:39
2006年1月13到1009年1月1日有364160天
每276天一個黑色星期五
364160/7=52022...6
1009年1月1日為星期日
1月,10月有黑色星期五

2006-02-10 22:48
今年1/13 10/13都是星期五
中間相隔18(一月剩下的天數)+28(二月)+210(三到九月)+4(3,5,7,8月有31天)+13(十月)天,總共應 該是273天吧

2006-02-11 21:52
謝謝指正

但那行跟我的算法無關。

:-D :-D :-D :-D :-D :-D :-D :-D