干支紀年計演算法

干支紀年計演算法(2009-02-12 22:02:20)

轉載

標籤: 雜談 分類: 收藏知識

干支紀年計演算法

干支紀年法,是中國文化的重要組成部分,在前幾年的全國高考和上海市高考中都曾經涉及過,現在文化常識仍在上海高考語文的命題範圍之內。如果按照常規的推演方法,不但浪費時間,而且容易出錯。如果能有一種既簡單又準確的方法來計算,無疑是大家都迫切希望得到的。下面的一種方法也許能滿足你的這種願望。但前提是,你必須對天干、地支的排列順序爛熟於心。

  為了便於說明,我們先把天干、地支順序排列出來。

  天干:甲、乙、丙、丁、戊、己、庚、辛、壬、癸。

  地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。

  具體的計算方法為:

  天干:年份÷10,得到的商不管,看餘數,若餘數-3得正,則按天干順序往下數,得數即為天干順序數,若餘數-3為負,則+10,得到的數即為天干數,若餘數為3,則為天乾的最後一位,即癸。

  地支:年份÷12,得到的商不管,看餘數,若餘數-3得正,則按地支順序往下數,得數即為地支順序數。若餘數-3為負,則+12,得到的數即為地支順序數,若餘數為3,則為地支的最後一位,即亥。

  把天干數和地支數合併起來,即為所求的干支年份。

  如:2001年查萬年曆為辛巳年,演算法為:

  2001÷10=200……1,1—3=—2,—2+10=8,按天干順序數到8,甲、乙、丙、丁、戊、己、庚、辛。第8位為辛。

  2001÷12=166……9,9—3=6,按地支順序數到6,子、丑、寅、卯、辰、巳。第6位為巳。

  按照以上計算結果,把天干、地支合併起來可知,2001年為辛巳年。

  再如,1980年查萬年曆為庚申年。

  1980÷10=198,餘數為0,則0—3=—3,—3+10=7,按天干順序數到7,甲、乙、丙、丁、戊、己、庚。第7位為庚。

  1980÷12=165,餘數為0,則0—3=—3,—3+12=9,按地支順序數到9,子、丑、寅、卯、辰、巳、午、未、申。第9位為申。

  按照以上計算結果,把天干、地支合併起來可知可知,1980年,為庚申年。

  又如:1983年查萬年曆為癸亥年。

  1983÷10=198……3,餘數為3,為天乾的最後一位癸。

  1983÷12=165……3,餘數為3,為地支的最後一位亥。

  按照以上計算結果,把天干、地支合併起來可知,1983年為癸亥年。


推薦閱讀:

【數學】數學規劃簡介
誰是新的「華爾街之狼」| 演算法密碼
我的演算法感悟
九章演算法 | Google 面試題 : 重複子字元串模式
如何簡單易懂地理解貝葉斯非參數模型?

TAG:演算法 | 干支 | 算法 |