甲子週期表c 實現

2021-04-13 02:07:06 字數 3000 閱讀 9077

天乾:甲,乙,丙,丁,戊,己,庚,辛,壬,癸,總稱為「十天幹」.又分為5陽幹,5陰乾

地支:子,醜,寅,卯,辰,巳,午,未,申,酉,戌,亥,總稱為「十二地支",又分為6陽支,6陰支

甲為天乾之始,子為地支之始,天乾在上,地支在下,甲子相合,乙丑相合,其餘順次相合,就叫「甲子」。古代就是以甲子來紀年、紀月、紀日。

天乾數為十,陰陽相合是五,地支數為十二,陰陽相合是六,天乾周轉六次,地支周轉五次,合為六十甲子之數,故又稱「六十甲子」.

甲子週期表:

甲子     乙丑     丙寅     丁卯     戊辰     己巳     庚午     辛未     壬申     癸酉

甲戌     乙亥     丙子     丁丑     戊寅     己卯     庚辰     辛巳     壬午     癸未

甲申     乙酉     丙戌     丁亥     戊子     己丑     庚寅     辛卯     壬辰     癸巳

甲午     乙未     丙申     丁酉     戊戌     己亥     庚子     辛丑     壬寅     癸卯

甲辰     乙巳     丙午     丁未     戊申     己酉     庚戌     辛亥     壬子     癸丑

甲寅     乙卯     丙辰     丁巳     戊午     己未     庚申     辛酉     壬戌     癸亥

演算法思想:

甲子組合的規律是按干支原有的順序,五個陽幹與六個陽支相配,五個陰乾與六個陰支配,結果便構成了六十個干支(或叫甲子)組合,為甲子一周 .觀測上表可以發現,天乾與地支的結合是順序向下進行的,形成乙個輪迴,直到天乾周轉六次,地支周轉五次.

演算法實現:

typedef struct tgdztgdz;

class jiazizhouqi;

jiazizhouqi::jiazizhouqi()

void jiazizhouqi::initiresult()

++counter;}}

void jiazizhouqi::display()

}用乙個二維陣列存放最後的結果.做個簡單的測試:

int _tmain(int argc, _tchar* argv)

有了甲子週期表,用天干地支紀年、紀月、紀日就方便多了.

年干支推算法 

中國很早就用干支紀年,並且沿用至今。有人把第乙個甲子年定在西元前2023年,與公元相比較,公元4年的干支正是農曆甲子年,因而將公元數減去3,再除以60(六十花甲子週期數),剩下的餘數,可以用六十甲子表序數表查出公元該年的干支。其公式為:    

(所求年數-3)/60   =   商..........餘數(年干支序數) 

如果餘數等於0,則干支序數加上60。 

例如:求公元2023年的農曆干支年紀:(1983-3)/60   =   30......0,則   0+60   =   60(干支序數),查表為癸亥年。

月干支推算法:

年的天乾為甲或已時,則正月的天乾為丙;    

年的天乾為乙或庚時,則正月的天乾為戊; 

年的天乾為丙或辛時,則正月的天乾為庚; 

年的天乾為丁或壬時,則正月的天乾為壬; 

年的天乾為戊或癸時,則正月的天乾為甲。

首先推算出該年農曆正月的天乾,其餘月份可按天乾順序號類推。該年正月的天乾序號的計算為:取公元年份除以5的餘數減2後乘以2再減1。當該數為負數時加10

例:求公元2023年(農曆辛未年)正月的天乾:1991/5=398餘1,正月的天乾序號數(1-2)x   2-1=-3,因該數是負數則加10得7,即天乾序號7得出農曆辛未年正月天乾為庚,正月干支為庚寅。二月為辛卯,三月為壬辰,餘類推

日干支推算法

由於農曆月的大小沒有一定的規律可循,這就使推算農曆日期的紀日干支不能用乙個簡單的方法來實現。因此,農曆日期的紀日干支比較好的推算辦法是借助於曆表

雖然農曆的大小月不固定,而陰曆除了每四年有一次閏月(二月)以外,每年的大,小月都固定不變,所以可以從陽曆來推算當日的干支,其推算公式是: 

日乾=(元旦天乾序數)+(所求日數)+(各月天乾加減數,閏年三月後加1)/10 

=商........餘數(日乾序數)    

日支=(元旦地支序數)+(所求日數)+(各月天乾加減數,閏年三月後加1)/12 

=商........餘數(地支序數)

按上述方法推算日干支,有兩個數要先求出來才能代入公式中,即元旦幹,支序數,各月幹,支加減數。

天干地支加減數表:

每月天干地支常數加減表 

平年                       閏年   

天乾       地支         天乾       地支     

一月     減一       減一         減一       減一     

二月     加零       加六         加零       加六   

三月     減二       加十         加一       加一     

四月     減一       加五         加一       加   一   

五月     減一       減一         加一       加一   

六月     加零       加六         加一       加一   

七月     加零       加零         加一       加一   

八月     加一       加七         加一       加一   

九月     加二       加二         加一       加一   

十月     加二       加八         加一       加一   

十一月 加三       加三         加一       加一   

十二月 加三       加九         加一       加一 

注:本文參考自:http://topic.csdn.net/t/20050225/10/3805364.html中cityhost的介紹

元素週期表排列的規律 元素週期表規律

元素週期表規律2020 01 07 08 42 40文 董玉瑩 元素週期表規律 是根據元素週期表中元素及其化合物的遞變性規律。元素週期數等於核外電子層數 主族元素的序數等於最外層電子數。元素週期表規律 1 原子半徑 1 除第1週期外,其他週期元素 惰性氣體元素除外 的原子半徑隨原子序數的遞增而減小 ...

元素週期表排列的規律 元素週期表排列規律

元素週期表是元素週期律用 表達的具體形式,它反映元素原子的內 部結構和它們之間相互聯絡的規律。元素週期表簡稱週期表。元素週期表有很多 種表達形式,目前最常用的是維爾納長式週期表。元素週期表有 個週期,有 個族和個區。元素在週期表中的位置能反映該元素的原子結構。週期表中 同一橫列元素構成乙個週期。同週...

元素週期表排列的規律 元素週期表排列規律

精品文件 元素週期表是元素週期律用 表達的具體形式,它反映元素原子的內 部結構和它們之間相互聯絡的規律。元素週期表簡稱週期表。元素週期表有很多 種表達形式,目前最常用的是維爾納長式週期表。元素週期表有 個週期,有 個族和個區。元素在週期表中的位置能反映該元素的原子結構。週期表中 同一橫列元素構成乙個...