如何快速计算出任意一天是星期几?有哪些技巧?
答:在初等数论中,有很多根据年月日计算星期的公式,我来介绍一个。
相关知识在介绍公式前,我们先来了解一些数学和公历相关的知识:
(1)闰年规则:四年一闰,百年不闰,四百年再闰,闰年是366天,平年是365天;
(2)闰月规则:闰年时,多的一天都加到二月中,平年二月28天,闰年二月29天;
(3)格里高利历:我们现在使用的公历,传至西方,叫做格里高利历;
在1582年10月4日(包括4日)前,罗马使用儒略历,罗马教皇格里高利十三世改革历法,针对哥白尼的日心说修正了旧历法,规则:1582年10月4日接下来的一天为10月15日,相当于历法中少了10天,但是星期继续接着前一天的;
(3)取整符号:[a]表示对实数a取整,也就是抛弃小数部分,只留下整数部分,比如"[3.7865]=3";
(4)同余式:若m是一个正整数,a、b为整数,且满足.a=b+km(k为整数),也就是说a和b除以m的最小正余数相同,则称a与b对模m同余,记作a≡b(mod m);
根据以上历法规则和数学工具,就可以利用同余技巧来处理,因为我们计算某一天是星期几,只需要选定一个固定的日期,然后计算和另外一个日期的相差天数对“7”取余即可。
蔡勒公式
其中符号:
w:表示星期,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六,0-星期日;
c:表示年份前两位数值;
y:表示年份后两位数值
m:表示月份,但是对于1、2月份需看作前一年的13、14月,这是为了简化闰年规则导致的复杂度;
d:表示“日”;
以上两个公式中,第二个其实就是第一个公式中的数值,加10后再取模,需要注意的是,在公历中1582年10月5日~1582年10月14日的这十天,是不存在的。
实际应用比如我们来计算2018年9月2日,带入第一个方程:
w=(18+[18/4]+[20/4]-2*20+[13(9+1)]/5)+2-1)(mod7)
=(18+4+5-40+26+1)(mod7)
=14(mod7)
=0
于是,2018年9月2日这天,就是星期天!
当然,我们现在手机里有了万年历,实际当中就不需要去计算了。
好啦!我的答案就到这里,喜欢我们答案的读者朋友,记得点击关注我们——艾伯史密斯!