国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 5644|回復: 10
打印 上一主題 下一主題

菜農星期公式揭秘及蔡勒公式推想

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2009-4-2 22:12:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關鍵詞: 蔡勒
今日方敢自稱菜農星期算法為“菜農星期公式”~~~

因為“菜農公式”竟然與“蔡勒公式”結果完全相同!
哈哈~~~不同菜農就栽了~~~
結果當然必須相同,但過程和推導方法雖然雷同,可公式的優化和“物理意義”及“路徑”差距很大。
菜農不知蔡勒(Zeller)是何須人也,也不知是“什么朝代”人士,
也不想知道~~~估計也是“賣腦漿的主”~~~
首先對比2個算法:
蔡勒公式如下:
W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1
或者是:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1

菜農補充“完整的蔡勒公式”:
W = (203 + C/4 - 2C + y + y/4 + 13 * (M+1) / 5 + d - 1) % 7
或者是:w=(203+y+y/4+c/4-2c+26(m+1)/10+d-1)%7
其中:C<=99,w在加203后不會出現負數
菜農公式如下:
W = (C%4*5+Y+Y/4+(13*M+8)/5+D)%7
菜農的(13*M+8)/5是根據月星期表推導出的。
菜農依據表的萬年某日星期算法:  
   公式:某日星期幾=(百年%4*5天+年+年/4+月星期表+日+2天)%7
   通用星期偏差表
   閏年  1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
   天數   31  29  31  30  31  30  31  31  30  31   30   31
   星期   3   6   0   3   5   1   3   6   2   4    0    2
   平年  1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
   天數   31  28  31  30  31  30  31  31  30  31   30   31
   星期   4   0   0   3   5   1   3   6   2   4    0    2
或(1月2月為5月6月星期表):
   公式:某日星期幾=(百年%4*5天+年+年/4+月星期表+日-0天)%7
   通用星期偏差表(此表是菜農公式中的(13*M+8)/5)
   閏年  1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
   天數   31  29  31  30  31  30  31  31  30  31   30   31
   星期   5   1   2   5   0   3   5   1   4   6    2    4
   平年  1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
   天數   31  28  31  30  31  30  31  31  30  31   30   31
   星期   6   2   2   5   0   3   5   1   4   6    2    4

故蔡勒用的星期表為(1月2月為13月14月星期表):
   公式:某日星期幾=(百年/4-2*百年+年+年/4+月星期表+日-1天)%7
   蔡勒星期偏差表(此表是蔡勒公式中的13*(M+1)/5)
   閏年  1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 13月 14月
   天數   31  29  31  30  31  30  31  31  30  31   30   31   31   29
   星期   5   1   2   5   0   3   5   1   4   6    2    0    3    5   
   平年  1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月  13月 14月
   天數   31  28  31  30  31  30  31  31  30  31   30   31   31   28
   星期   6   2   2   5   0   3   5   1   4   6    2    0    3    5

根據21ic網友xwj的推導:
xwj 發表于 2008-9-6 19:56 單片機

18樓: 典型的1階比例計算,公式可以這樣簡化:

蔡勒公式如下:
W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1
或者是:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1

w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
-->>
w=(5/4)y -(7/4)c +(26/10)m +26/10 +d -1
-->>
w=(5/4)y -(7/4)c  +d +(26/10)m +16/10
-->>
w=(5/4)y -(7/4)c  +d +(26m+16)/10

-->>
w=(5/4)y -(7/4)c  +d +(26m+16)/10 +N個7

xwj 發表于 2008-9-6 20:12 侃單片機

19樓: 考慮取值范圍,為了避免溢出,機器最后可以這樣計算:

w=y +y/4 -c*7/4  +d +(13*m+8)/5 +N個7


當C<=99時,2*C<=198,為使蔡勒公式不出現負數,取N=29即N*7=203
故有蔡勒公式的完整表述:
W = (203+C/4-2*C+Y+Y/4+(13*M+8)/5+D)%7

注意反推(13*M+8)/5+D到13*(M+1)/5+D-1
(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

對比菜農公式:
W = (C%4*5+Y+Y/4+(13*M+8)/5+D)%7
難道(203+C/4-2*C)%7和(C%4*5)%7相等嗎???
編過計算機程序的人一眼可以看出C%4*5的表述實際為:
(C&3)*5
或((C&3)<<2)|(C&3).
即把C的值取低2位(D1D0)復制到高2位(D3D2)
因為C&3=0~3或00B~11B
所以C%4*5只有4個取值0(0000B),5(0101B),10(1010B),15(1111B)
則((C%4)*5)%7對應0,5,3,1
可以看出C%4*5的表述和“物理意義”非常清晰:
hotpower 發表于 2008-9-6 09:34 侃單片機

12樓: 這個算法實際是把月星期表進行了代換

月星期表+日+2天 等效為公式 (13 * m + 8)/ 5

再“轉帖”我當時的“四百年歷”的帖子:
推導過程:
1。平年365天(52周+1天),閏年366天(52周+2天)。平年2月28天,閏年2月29天。
   由于公元1月1日設為星期六,故3月1日為星期三。         ——注意這個“三”
   為使算法達到最簡,故本算法以“星期”為計算單位。且選3月1日為基月。
2。每400年整一閏,或每4年且不為百年的一閏。
   百年%4=0閏或(年%4=0并且年<>0)閏。
3。每 4年(3個平年+1個閏年)共208周+5天                  ——注意這個“5天”
   每百年共100*(208周+5天)-1天=5217周+5天              ——注意這個“5天”(整
百年暫設為平年)
   每400年共4*(5217周+5天)+1天(整400年閏)=20871周+0天——注意這個“0天”和
“1天”(4個整百年只有一個閏年)
   即400年一輪回�。ㄔ瓉砣f年歷400年前是一家)
4。萬年3月1日星期算法(記住那個三)
   公式:某年3月1日星期幾=(3天+百年%4*5天+年/4*5天+年%4+月星期表+日-1天)%7
         某年3月1日星期幾=(百年%4*5天+年/4*5天+年%4+月星期表+日+2天)%7
   或    某年3月1日星期幾=(百年%4*5天+年+年/4+月星期表+日+2天)%7
   
   閏4百年3月1日星期算法(百年%4=0)
   公式:某年3月1日星期幾=(年+年/4+月星期表+日+2天)%7
   例:0000年3月1日星期幾=(0+0/4+0+1+2)%7=3%7=星期三
       1600年3月1日星期幾=(0+0/4+0+1+2)%7=3%7=星期三
       2000年3月1日星期幾=(0+0/4+0+1+2)%7=3%7=星期三
       2001年3月1日星期幾=(1+1/4+0+1+2)%7=4%7=星期四
       2004年3月1日星期幾=(4+4/4+0+1+2)%7=8%7=星期一
       2008年3月1日星期幾=(8+8/4+0+1+2)%7=13%7=星期六
       2042年3月1日星期幾=(42+42/4+0+1+2)%7=55%7=星期六

   平4百年3月1日星期算法(百年%4<>0)
   公式:某年3月1日星期幾=(百年%4*5天+年+年/4+月星期表+日+2天)%7
   例:1700年3月1日星期幾=(17%4*5+0+0/4+0+1+2)%7=8%7=星期一(注意:1700年是平
年)
       1800年3月1日星期幾=(18%4*5+0+0/4+0+1+2)%7=13%7=星期六(注意:1800年是平
年)
       1900年3月1日星期幾=(19%4*5+0+0/4+0+1+2)%7=18%7=星期四(注意:1900年是平
年)
       1901年3月1日星期幾=(19%4*5+1+1/3+0+1+2)%7=19%7=星期五
       1918年3月1日星期幾=(19%4*5+18+18/4+0+1+2)%7=(15+22+3)%7=40%7=星期五
       1958年3月1日星期幾=(19%4*5+58/4*5+58%4+3)%7=(15+70+2+3)%7=90%7=星期六
       1988年3月1日星期幾=(19%4*5+88/4*5+88%4+3)%7=(15+110+0+3)%7=128%7=星期二
       1999年3月1日星期幾=(19%4*5+99/4*5+99%4+3)%7=(15+120+3+3)%7=141%7=星期一
       2100年3月1日星期幾=(21%4*5+0/4*5+0%4+3)%7=(5+0+0+3)%7=8%7=星期一(注意:
2100年是平年)
       2101年3月1日星期幾=(21%4*5+1/4*5+1%4+3)%7=(5+0+1+3)%7=9%7=星期二
       2102年3月1日星期幾=(21%4*5+2/4*5+2%4+3)%7=(5+0+2+3)%7=10%7=星期三
       2103年3月1日星期幾=(21%4*5+3/4*5+3%4+3)%7=(5+0+3+3)%7=11%7=星期四
       2104年3月1日星期幾=(21%4*5+4/4*5+4%4+3)%7=(5+1+0+3)%7=9%7=星期二(注意:
2104年是閏年)
       9999年3月1日星期幾=(99%4*5+99/4*5+99%4+3)%7=(120+15+3+3)%7=141%7=星期一
   注:按400年一輪回�。�400年前是一家)的說法
       1600年,2000年是一樣的
       1700年,2100年是一樣的
       1800年,2200年是一樣的
       1900年,2300年是一樣的
       所以,萬年歷實際上是騙人的,應該叫“四百年歷”才是。萬只是多的意思罷了。
5. 萬年某日星期算法  
   公式:某日星期幾=(百年%4*5天+年+年/4+月星期表+日+2天)%7
   通同星期偏差表
   閏年  1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
   天數   31  29  31  30  31  30  31  31  30  31   30   31
   星期   3   6   0   3   5   1   3   6   2   4    0    2
   平年  1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
   天數   31  28  31  30  31  30  31  31  30  31   30   31
   星期   4   0   0   3   5   1   3   6   2   4    0    2



可以看出:
月星期表實際是根據(閏年/平年,天數)得到星期數的。
它實際是個固定的數,只要分清閏年/平年即可。

新算法:星期=(百年%4*5+年+年/4+(13*月+8)/5+日)%7
舊算法:星期=(百年%4*5天+年+年/4+月星期表+日+2天)%7

昨日首次“拜讀”了蔡勒公式,對-2C一直迷茫~~~
既然((C%4)*5)%7對應0,5,3,1
那么(203+C/4-2*C)也對應0,5,3,1???
C=0, (203+0/4-2*0)%7=203%7=0
C=1, (203+1/4-2*1)%7=(203-2)%7=5
C=2, (203+2/4-2*2)%7=(203-4)%7=3
C=3, (203+3/4-2*3)%7=(203-6)%7=1
C=4, (203+4/4-2*4)%7=(203+1-8)%7==(203+0)%7=0
C=5, (203+5/4-2*5)%7=(203+1-10)%7=(203-2)%7=(203+5)%7=5
C=6, (203+6/4-2*6)%7=(203+1-12)%7=(203-4)%7=(203+3)%7=3
C=7, (203+7/4-2*7)%7=(203+1-14)%7=(203+1-0)%7=(203+1)%7=1
C=8, (203+8/4-2*8)%7=(203+2-16)%7=(203-14)%7=(203+0)%7=0

暈呀�。。�
蔡勒公式中的-2C竟然是想得到重復的0,5,3,1序列采取的“手段”

最后還有個1月2月變換問題,蔡勒公式取13月14月,菜農取5月6月。
因為菜農公式是在月星期表“進化”而來,又因為13月14月與5月6月的表值相同,
所以最后決定改為1月2月變換為5月6月。
這樣做現在看來“物理意義”失去,但當時考慮“月表”的M大于12就不成“月”了.
總之把握:
1月2月為去年的以3月為基月表的表尾。
所以:
公式中出現1月2月的年是“去年”!!!
公式中出現1月2月的月是“明年”!!!(13月14月下一年的1月2月)
這樣“去年”和“明年”就“能量守恒”了~~~
到此菜農“反匯編”蔡勒公式終成正果~~~
感覺蔡勒公式確實和菜農公式在思路上有很大的差距~~~
哈哈~~~看來蔡勒“同志”的腦漿還是“白顏色”的~~~

最后給出完整的菜農公式:
W = (C%4*5+Y+Y/4+(13*M+8)/5+D)%7
其中:
C=1~XX,Y=0~99,M=1~12,D=1~28/29/30/31
計算時要注意1月和2月的“去年”“明年”變換。
即:
當M=1或2時,M=M+12或M=M+4,Y=Y-1;當結果Y<0時,C=C-1.
哈哈~~剛搜索的:
蔡勒公式最早是由德國數學家克里斯蒂安 · 蔡勒( Christian Zeller, 1822-1899 )在 1886 年推導出的,因此通稱為蔡勒公式( Zeller’s Formula )。為方便口算,式中的 [13 * (M+1) / 5] 也往往寫成 [26 * (M+1) / 10] 。
哈哈~~~122年前就有蔡勒公式,菜農深感慚愧~~~
蔡勒同志敬禮!!!
沙發
發表于 2009-4-2 22:25:55 | 只看該作者
“122年前就有蔡勒公式,菜農深感慚愧~~~
向蔡勒同志敬禮�。�!”

反正都姓菜,何必分彼此!
板凳
發表于 2009-4-2 22:29:15 | 只看該作者
俺數學不夠好,要不大學畢業就接著搞物理了。最羨慕那些搞數論的家伙。就十個數字整天玩得開心
地板
發表于 2009-4-3 10:56:32 | 只看該作者
看不懂,也沒工夫看,但是,支持一個。
地下室
發表于 2009-4-3 10:56:55 | 只看該作者
要求,抗議,俺不當佃農。
6
發表于 2009-4-3 13:48:26 | 只看該作者
要求,抗議,俺不當佃農。
wangkj 發表于 2009-4-3 10:56


想當個版主?
7
 樓主| 發表于 2009-4-3 21:04:52 | 只看該作者
哈哈~~~王會計應該做ARM版主才是,單片機檔次太低~~~
8
發表于 2009-4-4 22:59:09 | 只看該作者
俺也看不懂……
9
 樓主| 發表于 2009-6-12 20:47:24 | 只看該作者
暈~~~7天一次不明白
10
發表于 2009-7-27 11:29:07 | 只看該作者
看看 好像很復雜
11
發表于 2009-7-29 09:13:30 | 只看該作者
光明地牛 量體重 測智商
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: www91| 不卡午夜 | 日韩毛片免费在线观看 | 国产成人久久久精品毛片 | 毛片国产| 91热久久免费频精品99欧美 | 黄网站在线播放视频免费观看 | 国产自在线拍 | 亚洲成年人在线 | 在线免费日本 | www天堂网 | 麻豆国产精品高中生视频 | 欧美一区二区精品系列在线观看 | 另类av| 国产91中文剧情在线观看 | 亚洲最大黄色网站 | 请输入搜索词:www免费 | 四虎影院黄色 | 性8成人有声小说在线播放 性88分钟在线播放 性88分钟 | 久久九九有精品国产56 | 最新国产在线播放 | 国产一成人精品福利网站 | 成人免费网址在线观看黄动漫 | 久久一二 | 成人网址大全 | 天天都色| 免费一区二区三区在线视频 | 污视频网站免费看 | 欧美黄色片网站 | 99 久久99久久精品免观看 | 日本看片网站 | 五月综合色 | 国产精品亚洲午夜一区二区三区 | 成人在线一区二区 | 玖玖玖免费观看视频 | 国产高清视频免费在线观看 | 免费国产一级特黄久久 | 久久亚洲午夜牛牛影视 | 免费人成黄页在线观看1024 | 99re热视频这里只精品 | 亚洲高清视频在线播放 |