首先声明菜农不喜欢数学,更不是数学家~~~
刚找到当年(13*M+8)/5)推导过程的“手稿”。它要从月星期表说起
通用星期偏差表(此表是菜农公式中的(13*M+8)/5) 分组 大 小 大 小 大 大 小 大 小 大 大 小 大 小 大 闰年 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 13月 14月 3月 4月 5月 天数 31 29 31 30 31 30 31 31 30 31 30 31 32 29 32 30 31 星期 5 1 2 5 0 3 5 1 4 6 2 4 0 3 5 1 3 星期差 3 2 3 2 3 3 2 3 2 3 3 2 3 2 3
分组 大 小 大 小 大 大 小 大 小 大 大 小 大 小 大 平年 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 13月 14月 3月 4月 5月 天数 31 28 31 30 31 30 31 31 30 31 30 31 32 28 32 30 31 星期 6 2 2 5 0 3 5 1 4 6 2 4 0 3 5 1 3 星期差 3 2 3 2 3 3 2 3 2 3 3 2 3 2 3
由于明年的1月(13月)和今年5月的月表值都是0,2月(14月)和今年6月的月表值都是3 故月表简化为: 通用星期偏差表(此表是菜农公式中的(13*M+8)/5) 分组 大 小 大 小 大 大 小 大 小 大 年 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 1月 2月 天数 31 30 31 30 31 31 30 31 30 31 31 28/29 星期值 2 5 0 3 5 1 4 6 2 4 星期差 3 2 3 2 3 3 2 3 2 3
可以看出"分组"为两组(大月小月大月小月大月),每5(记住这个"5")个月1组(注意1月2月划归为5月6月): 3月 4月 5月 6月 7月 和 8月 9月 10月 11月 12月 星期差同为:3 2 3 2 3
星期差求和=3+2+3+2+3=13(记住这个"13")
再对12个月的星期值求和=0+3+2+5+0+3+5+1+4+6+2+4=40 由于每5个月1组,则40/5=8(记住这个"8")
因为原查表算法为: 某日星期几=(百年%4*5+年+年/4+月星期表+日)%7
所以要琢磨出: 月星期表 = ((13*M+8)/5)%7 因为每5个月1组,故肯定有((aM+b)/5)%7或((aM+b)%5)%7存在。 但是((aM+b)%5)%7可化简为(aM+b)%5,结果只有0,1,2,3,4.这肯定不过!!!
所以((aM+b)/5)%7将是推导的框架!!!
哈哈~~~"5"用到了。该"13"和"8"上阵了。
参数只有a,b.代入((aM+b)/5)%7几次即可搞定((13*M+8)/5)%7~~~
哈哈~~~菜农没文化让大家见笑了~~~搞笑~~~绝对的"非典"
菜农绝对气晕数学教授,不过俺数学不好也难为菜农了~~~ |