早教吧 育儿知识 作业答案 考试题库 百科 知识分享

蔡勒公式不对啊?蔡勒(Zeller)公式:是一个计算星期的公式.随便给一个日期,就能用这个公式推算出是星期几.蔡勒公式如下:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1公式中的符号含义如下:w:星期;w

题目详情
蔡勒公式不对啊?
蔡勒(Zeller)公式:是一个计算星期的公式.
随便给一个日期,就能用这个公式推算出是星期几.蔡勒公式如下:
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
公式中的符号含义如下:
w:星期; w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六
c:世纪(前两位数)
y:年(后两位数)
m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算)
d:日
[ ]代表取整,即只要整数部分.
例如1990 1 13日是星期6,但用公式却是星期7
▼优质解答
答案和解析
m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算)
1990 1 13 = 1989 13 13
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
=89+[89/4]+[19/4]-2*19+[26(13+1)/10]+13-1
=89+[22.25]+[4.75]-38+[36.4]+12
=89+22+4-38+36+12
=125(125mod7=6)
1990 1 13 周六没错!
在计算机程序设计中通常都有MOD运算,它的含义是 取得两个整数相除后结果的余数.
例如:7 mod 3 = 1
因为7 除以 3 商2余1.余数1即执行MOD运算后的结果
可能是计算失误了吧
对蔡勒(Zeller)公式的改进
作者:冯思琮
W=[y/4]+r (y/7)-2r(c/4)+m’+d
公式中的符号含义如下,r ( )代表取余,即只要余数部分;m’是m的修正数,现给出1至12月的修正数1’至12’如下:(1’,10’)=6;(2’,3’,11’)=2;(4’,7’)=5;5’=0;6’=3;8’=1;(9’,12’)=4(注意:在笔者给出的公式中,y为润年时1’=5;2’=1).其他符号与蔡勒(Zeller)公式中的含义相同.
以2049年10月1日(100周年国庆)为例,分别用蔡勒(Zeller)公式和笔者给出的公式进行计算,
蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
=49+[49/4]+[20/4]-2×20+[26× (10+1)/10]+1-1
=49+[12.25]+5-40+[28.6]
=49+12+5-40+28
=54 (除以7余5)
笔者给出的公式:w=[y/4]+r (y/7)-2r(c/4)+m’+d
= [49/4]+r (49/7)-2r(20/4)+10’+1
=12+0-2×0+6+1
=19 (除以7余5)
即2049年10月1日(100周年国庆)是星期5.
方便很多吧