meili 发表于 2022-10-14 15:17:35

某一天是星期几

<p> </p><p>某一天是星期几由数学网资料整理</p><p>历史上的某一天是星期几?未来的某一天是星期几?关于这个问题,有很多计算公式(两个通用计算公式和一些分段计算公式),其中最著名的是蔡勒(Zeller)公式。即</p><p>w=y++-2c++d-1</p><p>公式中的符号含义如下,w:星期;c:世纪;y:年(两位数);m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2023年1月1日要看作2023年的13月1日来计算);d:日;[ ]代表取整,即只要整数部分。</p><p>相比于另外一个通用通用计算公式而言,蔡勒(Zeller)公式大大降低了计算的复杂度。为节约篇幅,本文中对另外一个通用通用计算公式不作讨论(读者感兴趣的话,可以参见杭州14中网站上的相关内容)。</p><p>不过,笔者给出的通用计算公式似乎更加简洁(包括运算过程)。现将公式列于其下:</p><p>W=+r(y/7)-2r(c/4)+m'+d</p><p>公式中的符号含义如下,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)公式中的含义相同。</p><p>以2023年10月1日(100周年国庆)为例,分别用蔡勒(Zeller)公式和笔者给出的公式进行计算,过程如下:</p><p>蔡勒(Zeller)公式:w=y++-2c++d-1</p><p>=49++-2×20++1-1</p><p>=49++5-40+</p><p>=49+12+5-40+28</p><p>=54 (除以7余5)</p><p>笔者给出的公式: w=+r (y/7)-2r(c/4)+m'+d</p><p>= +r (49/7)-2r(20/4)+10'+1</p><p>=12+0-2×0+6+1</p><p>=19 (除以7余5)</p><p>即2023年10月1日(100周年国庆)是星期5。</p><p>你的生日(出生时、今年、明年)是星期几?不妨试一试。</p><p>另外,用笔者给出的公式,只需稍加训练 ,即可用心算(而用蔡勒公式进行心算是非常困难的)。</p><p>若只具体到某一年来进行计算就更为简单,比如说2023年,先用笔者给出的公式计算出前3项,不妨称之为年修正数,简记为Y2023 '=3,我们在计算2023年的某一天(比如说是六一儿童节)是星期几时,直接将前3项一次代入,则w= Y2023'+6‘+1=3+3+1=7(除以7余0),即2023年6月1日是星期日。</p><p>顺便给出未来几年的年修正数:Y2023'=5;Y2023 '=6;Y2023 '=0;Y2023 '=1;Y2023 '=3;Y2023 '=4;Y2023 '=5.其他年的修正数请用笔者所给公式的前3项自己计算。</p><p>不过,以上两个公式都只适合于2023年10月15日之后的情形(当时的罗马教皇将恺撒大帝制订的儒略历修改成格里历,即今天使用的公历)。</p><p>比较: 蔡勒(Zeller)公式 笔者所给公式</p><p>1、公式项数 7 5/4</p><p>2、运算次数 12(7次加减,5次乘除) 9(4次加减,4次乘除,1次映射)/6</p><p>3、运算过程最大数 390 31</p><p>4、总项最大数 163 67</p><p>5、对1、2月的处理 任何一年均要作特殊处理 仅闰才作特殊处理</p><p>1、2注释:对于20**年(包括16**年,24**年等),由于笔者所给公式的第3项为0,实际上在计算这些世纪时公式仅有4项、相应地运算次数只有6次。</p>
页: [1]
查看完整版本: 某一天是星期几