菜農與蔡勒和基姆拉爾森三個星期公式的繼續繁衍

2021-09-24 15:56:23 字數 1837 閱讀 3684

首先列出「菜農與蔡勒和基姆拉爾森三個星期公式」:

蔡勒星期公式=(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

我們可以看到三個星期公式的組成:

1.百年(日期/100)

蔡勒星期公式有:

203+百年/4-2*百年

基姆拉爾森星期公式有:

百年/4+百年*5

菜農星期公式有:(

百年%4)*5

2.年(日期%100)

三個公式都有:

年+年/4

3.月日

三個公式都有:(13*月+8)/5+日

可以看出三個公式最大的不同點在於百年的演算法構成大不一樣。

蔡勒星期公式中的「-2*百年」最為獨特,真不明白在幹什麼。

其次是基姆拉爾森星期公式中的「百年*5」,有5的倍數的身影。

而菜農星期公式中的「(百年%4)*5」構成了0,5,10,15,0,5,10,15,...序列

並且((百年%4)*5)%7又構成了我們需要的0,5,3,1,0,5,3,1,...序列

蔡勒星期公式需要

0,5,3,1,0,5,3,1,...序列

基姆拉爾森星期公式有

0,5,10,15,0,5,10,15,...序列的念頭

而菜農星期公式兩個序列都滿足,即百年的計算核心實際就是0,5,10,15,0,5,10,15,...序列!!!

在數學中,(百年%4)*5=(百年*5)%20,即都能得到0,5,10,15,0,5,10,15,...序列

故即可衍生出《菜農第二星期公式》!!!

菜農第二星期公式

=((百年*5)%20+年+年/4+(13*月+8)/5+日)%7

其中:其中: 百年=0~99,年=0~99,月=1~12,日=1~28/29/30/31 當月=1或2時,月=月+12或月=月+4,年=年-1

假若用:日期=百年*100+年,百年=日期/100

故有:菜農第二星期公式

=(((日期/100)*5)%20+日期%100+(日期%100)/4+(13*月+8)/5+日)%7

其中:其中: 日期=0~9999,月=1~12,日=1~28/29/30/31 當月=1或2時,月=月+12或月=月+4,日期=日期-1

大家可以隨意採用:

菜農星期公式=((百年%4)*5+年+年/4+(13*月+8)/5+日)%7

或:菜農星期公式=((百年&3)*5+年+年/4+(13*月+8)/5+日)%7

菜農第二星期公式

=((百年*5)%20+年+年/4+(13*月+8)/5+日)%7

或:菜農第二星期公式

=(((日期/100)*5)%20+日期%100+(日期%100)/4+(13*月+8)/5+日)%7

雁塔菜農[email protected]

2011.7.17 9:18 於西安雁塔菜地

基姆拉爾森公式

基姆拉爾森公式 kim larsen calculation formula 用於給定年份 y 月份 m 和日子 d 的條件下,計算該天是星期幾。初始條件 從公元 0 年 1 月 1 日,星期日開始計算 ps 公元 0 年不是閏年 輸入 y,m,d 三個整數表示年月日。輸出 w in 0,6 分別表...

基姆拉爾森計算公式

功能描述 根據輸入的日期判斷當天是週幾 演算法如下 基姆拉爾森計算公式 w d 2 m 3 m 1 5 y y 4 y 100 y 400 mod 7 在公式中d表示日期中的日數,m表示月份數,y表示年數。注意 在公式中有個與其他公式不同的地方 判斷日期是該月的第幾周 datetime.now.da...

基姆拉爾森公式 判斷星期幾

時間限制 2000 ms 記憶體限制 65535 kb 難度 2 描述 acm的iphxer經常忘記某天是星期幾,但是他記那天的具體日期,他希望你能寫個程式幫幫他。輸入 每行有三個整數 year,month,day,日期在1600年1月1日到9600年1月1日之間 輸出輸出對應的星期,用乙個整數表示...