谁能告诉我在知道年月日的情况下怎么样算出是星期几

来源:百度知道 编辑:UC知道 时间:2024/05/14 12:05:05
谁能帮我

在上小学时,有一位同学和我作过这样一个游戏:他让我随便说出当年的某一月某一日,他不用看日历就能很快、准确地说出这天是星期几。

我拿来了一本日历,与他试验了几次。果然他每次都说得很快也很准。我知道他不可能把一年三百六十五天每天星期几都背下来,所以他的本事引起了我很大的兴趣。

后来我知道了他的计算方法:他心里记住了十二个数字,这十二个数字分别对应于当年的十二个月。要计算当年的某月某日是星期几,只要用那日的日数加上那月所对应的数字,然后除以7,余几就是星期几,恰好除尽就是星期日。

我清楚地记得那年的十二个月所对应的数字依次是
1,4,4,0,2,5,0,3,6,1,4,6
1994年是:5 1 1 4 6 2 4 0 3 5 1 3

这一串数字就能很快地心算出1994年任何一天是星期几。这在手头无年历可查的情况下还是有一定用处的。在那一段我们还列出了最近几年每年对应的十二个数字,用这种方法计算最近几年某年某月是星期几也都还方便。

但是要计算自古至今以至遥远未来的公元某年某月某日是星期几,因为手头很难有那一年的年历,那一年相应的十二个数字不易获得,所以那种方法不适用了。

本段要介绍的是计算我们现在使用的历法实行以来或未来公元某年某月某日是星期几的一个方法。

先介绍一个算式:

其中 是公元的年数,C是从这一年的元旦算起到这一天为止(包括这一天是内)的天数。方括号表示其中算式的整数部分,即在计算S的值时,三个方括号中只要算出商数的整数部分,把余数略去不计。

求出S的值之后,除以7,余几就是星期几;除尽了就是星期日。
例如我们计算一下西安事变发生在星期几。
解 西安事变发生在1936年12月12日,所以x=1936 C=347于是可得:

=1935+483-19+4+347=2750
2750÷7=392………6,
所以西安事变发生在星期六。

我们再来计算一下1994年12月25日是星期几;此时x=1994 C=359于是可得 :