菜农星期公式与蔡勒星期公式和基姆拉尔森星期公式之揭秘与推想
(转帖请注明雁塔菜地,谢谢合作)
本文验证工具:http://www.hotpower.org/HotAjax/HotPower_HotAjax.html
基姆拉尔森星期公式=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
菜农在《菜农星期公式揭秘及蔡勒公式推想》https://bbs.21ic.com/icview-47911-1-1.html已做推导和揭秘了菜农星期公式与蔡勒星期公式。
现在再来揭秘基姆拉尔森星期公式:
今天即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即可!!!
在《菜农星期公式揭秘及蔡勒公式推想》https://bbs.21ic.com/icview-47911-1-1.html一文中,菜农已论证:
“蔡勒公式中的-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
是绝杀!!!
菜农论证结束!进一步证明“菜农星期公式”不是白给的,是有理论依据的~~~
菜农HotPower 2011.7.17 0:08 于雁塔菜地 |
|