菜农星期公式与蔡勒星期公式和基姆拉尔森星期公式之揭秘与推想 (转帖请注明雁塔菜地,谢谢合作) 本文验证工具:www.hotcrc.com
基姆拉尔森星期公式=W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数+1,m表示月份数,y表示年数。 故应该为: 基姆拉尔森星期公式=W= (d+1+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数,m表示月份数,y表示年数。
菜农星期公式 = ((百年%4)*5+年+年/4+(13*月+8)/5+日)%7 或 菜农星期公式 = ((百年&3)*5+年+(年>>2)+(13*月+8)/5+日)%7 其中: 百年=0~99,年=0~99,月=1~12,日=1~28/29/30/31 当月=1或2时,月=月+12或月=月+4,年=年-1
蔡勒星期公式 = 百年/4-2*百年+年+年/4+13*(月+1)/5+日-1 或: 蔡勒星期公式 = 百年/4-2*百年+年+年/4+(13*月+8)/5+日 菜农补充完整的蔡勒星期公式 = (203+百年/4-2*百年+年+年/4+13*(月+1)/5+日-1)%7 或: 菜农补充完整的蔡勒星期公式 = (203+百年/4-2*百年+年+年/4+(13*月+8)/5+日)%7
菜农在《菜农星期公式揭秘及蔡勒公式推想》已做推导和揭秘了菜农星期公式与蔡勒星期公式。
现在再来揭秘基姆拉尔森星期公式: 今天即2011.7.16,菜农才首次见到《基姆拉尔森星期公式》。这主要是俺小时候发誓不看别人的星期公式,一定要自己推导出来的缘故。
首先,三个公式的特点: 1.都是以三月为“基月”,这样二月就是“年底”了,闰年一年不同的日子就是“年底的最后一天”。 2.公式中的系数必须有“13”。 3.完成0,5,3,1序列,抛弃查表的烦恼。
基姆拉尔森星期公式: W= (d+1+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
实际也不例外,因为: 2*m+3*(m+1)/5=10*m/5+3*(m+1)/5=(13*m+3)/5
蔡勒星期公式中有13*(M+1)/5=(13*m+13)/5 基姆拉尔森星期公式有(13*m+3)/5 菜农星期公式中有(13*M+8)/5
菜农已证明蔡勒星期公式和菜农星期公式完全相等,因为: 蔡勒星期公式有:13*(M+1)/5+D-1 菜农星期公式有:(13*M+8)/5+D (13*M+8)/5+D=(13*M+8+5-5)/5+D =(13*M+13)/5-5/5+D = 13*(M+1)/5+D-1 故此部分完全相等!!!
而基姆拉尔森星期公式有: (13*m+3)/5+D+1 =(13*m+3)/5+5/5+D =(13*m+8)/5+D (注意:(13*m+8)/5与菜农星期公式系数一样) =(13*m+8)/5+1+D-1 =(13*m+8)/5+5/5+D-1 =(13*m+13)/5+D-1 =13*(m+1)/5+D-1 (注意:(13*(m+1)/5与蔡勒星期公式系数一样) 可以看出基姆拉尔森星期公式与其他两个公式此系数完全一样!!!
故基姆拉尔森星期公式实际为: W= (y/400-y/100+y+y/4+(13*m+3)/5+d+1)%7 或(与菜农公式比较): W= (y/400-y/100+y+y/4+(13*m+8)/5+d)%7 或(与蔡勒公式比较): W= (y/400-y/100+y+y/4+13*(m+1)/5+d-1)%7
其中: y/400=(百年*100+年)/400=百年/4 y/100=(百年*100+年)/100=百年 y=百年*100+年 y/4=(百年*100+年)/4=百年*25+年/4
故基姆拉尔森星期公式为: 星期=(百年/4-百年+百年*100+年+百年*25+年/4+(13*月+3)/5+日+1)%7 即: 星期=(百年/4+百年*124+年+年/4+(13*月+3)/5+日+1)%7
因为:(百年*124)%7=(百年*5)%7 简化为:
星期=(百年/4+百年*5+年+年/4+(13*月+3)/5+日+1)%7
或: 星期=(百年/4+百年*5+年+年/4+(13*月+8)/5+日)%7 或: 星期=(百年/4+百年*5+年+年/4+13*(月+1)/5+日-1)%7
比较菜农星期公式: 星期 = ((百年%4)*5+年+年/4+(13*月+8)/5+日)%7 故基姆拉尔森星期公式: W= (y/400-y/100+y+y/4+(13*m+8)/5+d)%7 实际为: 星期=(百年/4-百年+百年*100+年+百年*25+年/4+(13*月+8)/5+日)%7 最简化: 星期=(百年/4+百年*5+年+年/4+(13*月+8)/5+日)%7
比较蔡勒星期公式: 星期 = (203+百年/4-2*百年+年+年/4+13*(月+1)/5+日-1)%7 故基姆拉尔森星期公式: W= (y/400-y/100+y+y/4+13*(m+1)/5+d-1)%7 实际为: 星期=(百年/4-百年+百年*100+年+百年*25+年/4+13*(月+1)/5+日-1)%7 最简化: 星期=(百年/4+百年*5+年+年/4+13*(月+1)/5+日-1)%7
只要论证蔡勒星期公式与基姆拉尔森星期公式相同,那么三个公式全一样了!
取出不同之处: 蔡勒星期公式有: 203-2*百年 基姆拉尔森星期公式有: 百年*5
即我们只要论证: (203-2*百年)%7=(百年*5)%7即可!!!
在《菜农星期公式揭秘及蔡勒公式推想》一文中,菜农已论证: “蔡勒公式中的-2C竟然是想得到重复的0,5,3,1序列采取的“手段”” 即(203+百年/4-2*百年)%7=0,5,3,1序列
蔡勒0,5,3,1验证(203+百年/4-2*百年)%7: 百年=2, (203+2/4-2*2)%7=(203-4)%7=3 百年=3, (203+3/4-2*3)%7=(203-6)%7=1 百年=4, (203+4/4-2*4)%7=(203+1-8)%7==(203+0)%7=0 百年=5, (203+5/4-2*5)%7=(203+1-10)%7=(203-2)%7=(203+5)%7=5 百年=6, (203+6/4-2*6)%7=(203+1-12)%7=(203-4)%7=(203+3)%7=3 百年=7, (203+7/4-2*7)%7=(203+1-14)%7=(203+1-0)%7=(203+1)%7=1 百年=8, (203+8/4-2*8)%7=(203+2-16)%7=(203-14)%7=(203+0)%7=0
菜农的实现: (百年&3)*5 或((百年&3)<<2)|(百年&3). 即把百年的值取低2位(D1D0)复制到高2位(D3D2) 因为百年&3=0~3或00B~11B 所以百年%4*5只有4个取值0(0000B),5(0101B),10(1010B),15(1111B) 则((百年%4)*5)%7对应0,5,3,1
故菜农的手法“一眼可以看穿”,而蔡勒的必须带入验证。
难道基姆拉尔森也要采取这一手段不成???(基姆拉尔森是何许人也,现在菜农未知,估计和蔡勒一样,都是“卖脑浆的主”)
基姆拉尔森之(百年/4+百年*5)%7=0,5,3,1序列?????
百年=2 (2/4+2*5)%7=3 百年=3 (3/4+3*5)%7=1 百年=4 (4/4+4*5)%7=0 百年=5 (5/4+5*5)%7=5 百年=6 (6/4+6*5)%7=3 百年=7 (7/4+7*5)%7=1 百年=8 (8/4+8*5)%7=0
菜农推导完毕!!!
三个公式完成0,,5,3,1序列的手法如下:
蔡勒星期公式手法: (203+百年/4-2*百年)%7 基姆拉尔森星期公式手法: (百年/4+百年*5)%7 菜农星期公式手法: ((百年&3)*5 )%7 或 ((百年&3)<<2)|(百年&3))%7 或 ((百年&3)<<2)+(百年&3))%7
故菜农星期公式手法最简洁
整理三个公式: 蔡勒星期公式=(203+百年/4-2*百年+年+年/4+13*(月+1)/5+日-1)%7 或: 蔡勒星期公式=(203+百年/4-2*百年+年+年/4+(13*月+8)/5+日)%7 或: 蔡勒星期公式=(203+百年/4-2*百年+年+年/4+(13*月+3)/5+日+1)%7
基姆拉尔森星期公式=(百年/4+百年*5+年+年/4+(13*月+3)/5+日+1)%7 或: 基姆拉尔森星期公式=(百年/4+百年*5+年+年/4+(13*月+8)/5+日)%7 或: 基姆拉尔森星期公式=(百年/4+百年*5+年+年/4+13*(月+1)/5+日-1)%7
注意:(13*月+8)/5+日最简洁!!!
菜农星期公式=((百年%4)*5+年+年/4+(13*月+8)/5+日)%7 或: 菜农星期公式=((百年&3)*5+年+(年>>2)+(13*月+8)/5+日)%7
故菜农星期公式算法最简洁
基姆拉尔森星期公式和菜农星期公式的实际区别: 百年/4+百年*5和(百年&3)*5 而: (百年&3)*5=((百年&3)*4)+(百年&3)=((百年&3)<<2)+(百年&3). 或: (百年%4)*5=((百年%4)*4)+(百年%4)=((百年&3)<<2)+(百年&3). 故: 百年/4+百年*5和(百年&3)*5 有: 百年/4+百年*4+百年和(百年&3)*4+百年&3)
同理: 蔡勒星期公式和菜农星期公式的实际区别: 203+百年/4-2*百年和(百年&3)*5
故在此证明菜农星期公式算法最简洁 所以星期公式算法的比拼就是如何构造“0,5,3,1”序列了!!!
而菜农的:
(百年&3)*5
或((百年&3)<<2)|(百年&3).
即把百年的值取低2位(D1D0)复制到高2位(D3D2)
因为百年&3=0~3或00B~11B
所以百年%4*5只有4个取值0(0000B),5(0101B),10(1010B),15(1111B)
则((百年%4)*5)%7对应0,5,3,1
是绝杀!!!
菜农论证结束!进一步证明“菜农星期公式”不是白给的,是有理论依据的~~~
|