月元干支推演算法

《手掌與疾病》 > 二、年、月、日、時干支掌上推演算法(六)月元干支推演算法

月元干支是指每月第一日的干支。知道了每月第一日的干支,以後各日的干支就可順推而知。推算月元干支,以當年的年元旦干支為基礎,根據月元歌訣推算。

月元歌訣:「二六加一七,三月雙減一,四月加零六,五上零零加,七月雙加一,八加二八齊,九月雙加三,十一雙加四,十月加三九,十二加四十。閏從三月起,每月多加一。」(註:每年的年元旦干支亦即是當年一月的月元干支。)

每句歌訣前面的數字是指月數,加或減後的數字是指干支加減數。如「二六加一七」中的二六是指二月和六月,加一七是指天干加一,地支加七,亦即是天干進一位,地支進七位。余皆類推。「閏從三月起,每月多加一」意為每逢閏年,三月至十二月間的任一月,其月元干支在上述加減數的基礎上多加一(見表10)。例如:已知1984年元旦干支為甲午,求1984年2月1日的干支,根據歌訣:「二六加一七」,天干從甲進1位為乙,地支從午進7位為丑,所以1984年2月1日的干支為乙丑。又如,求1984年6月1日的干支,因該年為閏年,根據歌訣:「二六加一七,閏從三月起,每月多加一,」天干由甲進兩位為丙,地支由午進八位為寅,所以1984年6月1日的干支為丙寅(見表12)。其餘類推。


推薦閱讀:

九章演算法 | Snapchat 面試題 : Palindrome Data Stream
演算法導論學習之最長迴文子序列
公元後日期的紀日干支計、星期和二十八宿演算法
從尾到頭列印鏈表
初級演算法篇之數組 <2>

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