您当前的位置:首页 > 科普小常识 > 正文

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

关于【天干地支纪年法怎么计算】,python天干地支纪年法怎么计算,今天涌涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

内容导航:1、天干地支纪年法怎么计算2、天干地支纪年法算法剖析

1、天干地支纪年法怎么计算

天干的计算方法是:年份减3,除以10所得的余数;地支的计算方法是:年份减3,除以12所得的余数。以2012年为例:天干为:(2012-3)÷10=200······9;地支为:(2012-3)÷12=167······5;对照天干地支表得出,2012年为壬辰年。

干支是什么意思

干支纪法是我国特有的历法,用来纪年、月、日、时。“干”是指天干,包括甲、乙、丙、丁、戊、己、庚、辛、壬、癸。“支”指地支,包括子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥,共12个。十天干和十二地支按以上顺序进行两两搭配,可以组成60组不同的天干地支组合,古人便以此作为年、月、日、时的序号。同时,人们还用十二种动物分别与十二地支相配,成为十二生肖年。

干支历是阳历还是阴历

干支历既不同于我们现在的公历,也不同于当代的农历。干支历是中国特有的阳历,它完全参照黄道地日关系创建,一个回归年为一年,我们熟悉的二十四节气,就是干支历中表示季节变迁的节令。所以,干支历以每年的二十四节气中的立春为岁首,二十四节气中的节为月首。农历则是借用干支记年,以正月初一为起点,属于阴阳历。而公历使用的是公元纪年法,源自西方社会,以耶稣诞生之年作为公元元年,是阳历的一种。

2、天干地支纪年法算法剖析

#在头条看见彼此##干支#​#考研#​

中国文化博大精深,今天要为大家剖析的是干支纪年的算法[机智]

一、干支纪年法简介。

1.干支纪年法:干支纪年法萌芽于西汉,开始于王莽,通行于东汉后期。干支是天干和地支的合称,古代用于10干与12支循环相配来表示年、月、日和时的次序,周而复始,循环使用,现在的夏历的年和日仍然是用干支计(如图1所示)。

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图1

2.10天干与12地支的读写。

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图2

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图3

二、干支纪年法的简单运用。

1⃣️干支纪年法表示年,60年一个周期,俗称60年转甲子,按顺序排列如图4所示:

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图4

2⃣️12生肖与12地支对应。

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图5

3⃣️以12地支表示12时辰(我国传统以12个时辰表示一天24小时)。

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图6

(每12个时辰一个周期循环表示。)

4⃣️地支表示12个月。

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图7

三、周期问题。

那干支纪年法是如何计算的呢?

干支纪年算法本质是一个周期计算的问题,先来给大家普及一下周期问题中“求第几个是多少”这一类问题的计算原理。

为了方便大家理解,我们以例1(如图8所示)为例,来帮大家分析一下:

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图8

问题1:要求第17个汉字是哪个字,最笨的方法就是一个一个数,按顺序数17个数,可以直接得到答案,第一行第17个汉字是“学”。具体过程见图9:

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图9

当然,如果你再进一步思考就会想到,这种方法有个致命的缺陷,当数据非常大时,如当问到“第一行第2022个汉字是什么”,一个一个数的方法就显得十分笨拙,那有没有更快捷高效的解决方法呢?

答案是肯定的,针对第一个问题,我们还可以5个数一组一组地数,具体过程如图10所示:

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图10

17个数字,一组一组地数,数完‬3组‬剩‬2个‬汉字‬;3组数完,刚好是数到“者”字结束,再接着从一组的最开始的一个字往后数‬2个‬汉字‬,正好是“学”字。

有了第一问解决问题的经验,第二问,我们也可以用第二种方法来解决,如图11所示:

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图11

15个汉字,一组一组地数,数‬完‬3组还‬剩‬3个‬汉字‬;3组数完‬,刚好‬数到‬“趣‬”字‬结束‬‬,再接着‬从‬一组‬最开始‬的‬一个字‬往后‬数‬2个‬汉字‬,正好是‬“学‬”字‬,所以‬第二行‬第‬15个‬汉字‬是‬“学‬”。

弄‬清了‬周期‬问题‬中‬“求‬第几个‬是‬多少‬”的‬类型‬,我们再‬‬来‬思考‬一下‬下面‬‬这个问题‬:

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图12

通过观察,不难发现图12中这些圈圈的颜色排列方式是有规律的,如果去掉最前面的蓝色和黄色圈圈,之后的圈圈都是按“2红1黄2蓝”的方式排列的,可以结合图13观察:

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图13

接下来,想知道第200个圈圈的颜色,我们可以这样计算,如图14所示:

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图14

看到‬上面的‬答题‬过程‬,你可能‬有‬以下‬几个‬疑问‬️:

(1)计算时,为什么200先要减‬2呢‬?

原因很简单,前面我们分析到,如果去掉最前面蓝色和黄色的圈圈后,还剩200-2–=198个‬圈圈‬,这‬198个‬圈圈‬将会‬按照‬“2红‬1黄‬2蓝‬”的‬方式‬循环排列‬,这样‬可以‬为‬我们‬接下来‬一组‬一组‬地‬数‬做‬准备‬。

(2)最后的结果商39余3怎么理解?

商‬39”意味着198个圈圈‬每‬5个‬一组‬可以‬分为‬39组‬;“余‬3”意味着‬“还剩‬3个‬圈圈‬”。

弄清了上述两个问题就好办了,200个圈圈,分组前,先去掉前两个不符合规律的,还剩198个圈圈,这198个圈圈按规律每5个一组,可分为39组还余3个,数完39组后,接下来,还得从这组的第一个开始一次数3个,第3个是黄色圈圈。也就是说:第200个圈圈的颜色是黄色。

像‬例‬1、例‬2这类‬求‬“第几个‬是多少‬”的‬周期问题‬,我们可以通过“分组”的思想来解决,规律如图15所示:

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图15

三、干支纪年法算理。

开始干支纪年法算理前,还有2个非常重要的知识需要了解,如下:

1⃣️干支纪年的背景知识:

干支纪年源于轩辕纪年(轩辕纪年一般指皇帝纪年),轩辕纪年也就是轩辕氏即位的那一年,也就是公元前2697年,这一年是轩辕元年,也就是第一个甲子年。

2⃣️公元前后是如何划分的?

公元前后的划分如图16所示,需要特别注意的是没有公元0年。

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图16

为了帮大家理解图16,我们先来思考一下下面几个问题:

(1)公元1年到公元100年共多少年?

答案是100年,从1数到几就是多少年,这个不难理解。

(2)公元前122年到公元前1年共多少年?

上述问题我们可以这样理解:从122倒着一个一个数,数到1共多少个连续的自然数,这个问题与1到122共多少个连续的自然数是一样的,只是顺序的区别。所以上面问题答案是122年。

(3)公元前122年到公元100年共多少年?

由于没有公元0年,上述问题我们以公元前和公元为基础,拆成2组来计算,如图17所示:

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图17

第一组:公元前122年到公元前1年共122年‬

第二组:公元1年到公元100年共100年‬

两组结合:公元前122年到公元100年共:122+100=222(年‬)

弄清了1⃣️、2⃣️两个问题,接下来我们正式进入干支纪年的计算,我们来思考一下下面这个问题:

问题1:2022年用干支纪年法表示属于什么年?

方法1:干支‬一起‬确定‬

公元前2697是第一个甲子年,从公元前2697年到公元2022年共:

2697+2022=4719(年‬)

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图18

公元前2679年是第一个甲子年,按图4所示顺序,60年一个周期:4719年可以分为78组,还剩39年;一组一组数,去掉78组,也就是4680年,剩下的39年,从一组第一年开始算起,第39年是壬寅年。

除了上面的算法,有没有更简单,计算量更小的计算方法呢?

答案是肯定的,计算时‬,不需要‬从第一个‬甲子年‬算起‬,可以‬从‬第‬2个‬甲子年‬(或者‬第‬3个‬….)都是‬可以的‬。

方法‬1改进‬:

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图19

首先,公元前2697是第一个甲子年,从公元前2697年到公元2022年共:4719年‬

接着:计算时,我们不一定要从第一个甲子年开始算起,也可以从第46组开始算,为什么选从第46组开始算呢?原因很简单,前面45组共2700年,2700年包含了公元前的2697年,还包含了公元3年,去掉2700年的好处是计算时就不用考虑公元前的时间了;但这样计算有个问题,要减去2700年,除了减掉公元前2697年,还需要再‬减‬公元‬3年‬才行‬,方法1算式我们就可以改写如下:

(2022-3)➗‬60=33(组‬)……39(年‬)

一组一组数,去掉33组,也是年,剩下的39年,从一组第一年开始算起,第39年是壬寅年。

方法‬2:干支‬分开来‬计算‬

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图20

天干‬算法‬解读‬:

先计算天干,从公元前2697年开始,每10个天干一组,4719年一组一组算,去掉471组,也就是4710年,还剩9年,从一组天干的第一个开始算起,第9个天干是任。

地‬支‬算法‬解读‬:

从公元前2697年算起,每12个天干一组,4791年一组一组地算,去掉399组,也就是4788年,还剩3年,从一组地支的第一个算起,第3个是寅。

综上,2022年是壬寅年[赞][机智]

方法‬2改进‬:

天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)

图21

“减3”相当于“减掉了公元前2679年,再减3”,所以减3和减2700年后计算的结果是一样的,这样就不用考虑公元前的时间了[机智]。

本文关键词:python天干地支纪年法怎么计算,天干地支纪年法怎么计算为什么减3,天干地支纪年法怎么计算,天干地支纪年法怎么组合,天干地支纪月法怎么计算。这就是关于《天干地支纪年法怎么计算,python天干地支纪年法怎么计算(天干地支纪年法算法剖析)》的所有内容,希望对您能有所帮助!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 生地价格是多少 有哪些作用,生地价格是多少(生地市场价格多少钱一斤2018)

下一篇: 老夫子攻速阈值,2022《王者荣耀》老夫子攻速阈值是什么(TA一秒2000+伤害)



推荐阅读