干 支 法 纪 年 算 法
干支纪年法如何计算干支纪年法简便算法公式
第一步,确定起始年份。
干支纪年法起始于公元前2637年,也就是“庚子年”。
从这一年开始,一直往后计算,直到计算到现在的年份。
第二步,计算年份偏移值。
按照干支纪年法的循环周期,每过60年
又回到了起始的“庚子年”。
因此,我们需要计算当前年份与起始年份之
间相差了多少个循环周期(60年)。
第三步,计算天干和地支。
根据起始年份和年份偏移值,可以确定当
前年份的天干和地支。
天干的计算公式为:(起始年份的天干索引 + 年份
偏移值) mod 10;地支的计算公式为:(起始年份的地支索引 + 年份偏移值) mod 12
第四步,确定年份的干支组合。
通过第三步计算得到的天干和地支的
索引,可以确定当前年份的干支组合。
例如,第三步计算得到的天干索引
为2(乙)地支索引为9(巳),那么当前年份就是“乙巳年”。
通过以上四个步骤,我们可以用干支纪年法来计算当前年份的干支组合。
这种计算方法简单而直观,不需要大量的计算,可以方便地计算出任
意年份的干支纪年。
需要注意的是,干支纪年法的起始年份和干支的索引是固定的,因此
计算年份偏移值时要考虑到这一点。
同时,干支纪年法也和公历有所差异,公历的年份是按照阳历计算的,而干支纪年法是按照农历计算的,因此在
计算时可能会有一些误差。
干支纪年法怎么计算 干支纪年法
干支纪年法一、干支的构成干指天干,共有10个符号甲乙丙丁戊己庚辛壬癸支指地支,共有12个符号子丑寅卯辰巳午未申酉戌亥古人把十天干、十二地支依次排列组合,成为六十个不同的单位。
具体来说,把天干的第一个“甲”和地支的第一个“子”配合,就成了“甲子”;天干的第二个“乙”和地支的第二个“丑”配合,就成了“乙丑”;天干的第三个“丙”和地支的第三个“寅”配合,就成了“丙寅”天干的第十个“癸”和地支的第十个“酉”,就成了“癸酉”。
至此,十个天干已经轮完了一遍,而地支却留有“戌”和“亥”,这时,天干便由“甲”开始继续与地支留下来的两个相配合,组成“甲戌”和“乙亥”。
十二地支第一轮至此也用完,而天干却剩下来从“丙”到“癸”八个,这时天干仍由“丙”继续下去,而地支则由“子”重新开始配合,如此不断,直至“癸亥”,十天支和十二地支刚好同事配完。
六十为一次循环,第六十个单位之后,又轮到第一个单位,周而复始。
因“甲”居十干首位,“子”居十二支首位,故称这个排列为六十甲子。
其中干支名称参差错综,故又称花甲子,后谓年满六十为花甲即由此而来。
表一六十干支、五行、属相对照表天干顺序的单数(奇数)配地支顺序的单数,天干顺序的双数(偶数)配地支的双数,则成为甲子、乙丑、丙寅等,永远不会出现甲丑、乙寅,丙卯等天干单数与地址双数搭配的情况。
二、干支的起源干支的起源及它的数字为什么分别是“十”和“十二”长期以来一直是学者们力图解开的谜。
有些学者试图从上古时代东西方文化的交流渗透来探索干支的起源。
中国古代有以十二辰记月的做法,即以北极为中心,把天穹的大周圆等分为十二个区域。
这种做法与古巴比伦人为观察太阳一年的运行路线而把星空划分为十二个区域(称为“黄道十二宫”)的做法相似。
由此推测中国古代十二支是受巴比伦文化的影响而产生的。
其传入中国的途径,很可能是受商民族“本自西北远来,来时即挟有由巴比伦所授之星历知识,入中土后而沿用之”,或许“商室本发源与东方,其星历知识乃由西来之商贾或牧民所输入”。
如何计算年月日时干支
年月日时干支是中国传统历法中使用的一种时间计算方法,主要用于干支纪年、纪月、纪日和纪时。
干支是指天干和地支,共十干十二支,分别表示了不同的年、月、日、时。
下面将详细介绍如何计算年月日时干支。
1.干支纪年:干支纪年是以十天干和十二地支为基础,循环周期为60年。
根据甲子纪年表,可以得到甲子年为第一年,乙丑年为第二年,以此类推。
计算方法如下:-年份除以60,得到的余数对应地支的序号,余数为0时对应地支为第12位。
-年份除以10,得到的余数对应天干的序号,余数为0时对应天干为第10位。
例如,2024年对应的是辛丑年,辛为第8位天干,丑为第2位地支。
2.干支纪月:干支纪月是以天干和地支纪法来计算月份,每年的月份循环周期为12个月。
计算方法如下:-以立春为分界点,立春前为腊月,立春后为正月。
-计算年份的天干位置,例如2024年是辛丑年,辛为第8位,丑为第2位。
-计算立春的干支纪年,例如2024年的立春是在2月3日,即辛丑年的干支纪年为庚寅年。
-计算干支纪月,以立春为始,依次按照干支顺序排列,例如辛丑年的立春前一月为庚子月。
3.干支纪日:干支纪日是根据天干和地支的顺序来编号和计算每一天。
计算方法如下:-天干序号除以十,得到的余数为干日的序号,余数为0时对应干日为第10位。
-地支序号除以十二,得到的余数为支日的序号,余数为0时对应支日为第12位。
例如,2024年1月1日对应的是庚子日,庚为第7位天干,子为第1位地支。
4.干支纪时:干支纪时是在一天24小时的基础上,根据天干和地支的顺序来计算每个时辰的干支。
-从早子时开始,依次按照天干地支的顺序对应到每个时辰。
-例如,早子时对应甲子时,早丑时对应乙丑时,以此类推,晚子时再次对应甲子时。
需要注意的是,以上的计算方法是以农历为基础,对应的公历日期可能会有所不同。
同时也需要考虑到历法的变化和修正。
在实际应用中,通常可以通过查询相关的农历工具或网站来获取具体的干支纪年、纪月、纪日和纪时。
如何用天干地支计算年月日时?
如何用天干地支计算年月日时?中国古代的一种纪年法。
即以甲、乙、丙、丁、戊、己、庚、辛、壬、癸为十干,子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥为十二支,把干、支顺序配合。
如甲子、乙丑等,经过六十年又回到甲子。
周而复始,循环不已。
我国农历现仍沿用干支纪年。
干支纪年萌芽于西汉,始行于王莽,通行于东汉后期。
汉章帝元和二年(公元85年),朝廷下令在全国推行干支纪年。
有人认为中国在汉武帝以前用干支纪年。
可是,这就是太岁纪年,用太岁所在纪年,干支表示十二辰(把黄道附一周天分为十二等分)。
木星11.862年绕天一周,所以太岁约86年多走过一辰,这叫做“超辰”。
在颛顼历上,西汉武帝太初元年(前104年)是太岁在丙子,太初历用超辰法改变为丁丑。
汉成帝末年,由刘歆重新编订的三统历又把太初元年改变为丙子,把太始二年(前95年)从乙酉改变为丙戌。
还东汉的历学者没用超辰法。
所以太岁纪年和干支纪年从太始二年表面一样。
但是用天干和地支搭配纪年的表现方式相传自黄帝时期就开始了,在殷墟商代考古发现过六十甲子表的残片。
1.干和支的含义:干支是天干,地支的合称。
干指天干,共有10个符号:1 2 3 4 5 6 7 8 9 10甲乙丙丁戊己庚辛壬癸支指地支,共有12个符号:1 2 3 4 5 6 7 8 9 10 11 12子丑寅卯辰巳午未申酉戌亥2.干和支组合后用于纪年。
即:将十天干和十二地支按顺序搭配组合成干支,用于纪年。
按此排法,当天干10个符号排了六轮与地支12个符号排了五轮以后,可构成60干支。
续排下去又将恢复原状,周而复始,即如民间所说“六十年转甲子”。
[编辑本段]六十年甲子(干支表)1 2 3 4 5 6 7 8 9 10甲子乙丑丙寅丁卯戊辰己巳庚午辛未壬申癸酉11 12 13 14 15 16 17 18 19 20甲戌乙亥丙子丁丑戊寅己卯庚辰辛巳壬午癸未21 22 23 24 25 26 27 28 29 30甲申乙酉丙戌丁亥戊子己丑庚寅辛卯壬辰癸巳31 32 33 34 35 36 37 38 39 40甲午乙未丙申丁酉戊戌己亥庚子辛丑壬寅癸卯41 42 43 44 45 46 47 48 49 50甲辰乙巳丙午丁未戊申己酉庚戌辛亥壬子癸丑51 52 53 54 55 56 57 58 59 60甲寅乙卯丙辰丁巳戊午己未庚申辛酉壬戌癸亥[编辑本段]结合实际了解“十二地支”1.用十二种动物分别与十二地支相配成为“十二生肖年”。
天干地支纪年月日的计算方法
天干地支纪年(月日时)法一、年的计算方法1、年的天干算法:用公元纪年数减3,除以10(不管商数)所得余数,就是天干所对应的位数;2. 年的地支算法:用公元纪年数减3,除以12(不管商数)所得余数,就是地支所对应的位数;天干:甲、乙、丙、丁、戊、己、庚、辛、壬、癸地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥例1. 我们以2010年为例;天干算法: 2010-3=2007, 2007/10=200余7, 7对应天干第7位是庚,即天干为庚;地支算法: 2010-3=2007, 2007/12=167余3, 3对应地支第3位是寅,即地支为寅;综上公元2010是用天干地支纪年为庚寅年。
为使各位信任此算法,本人再举一例来说明:例2. 我们再以1987年为例;天干算法: 1987-3=1984, 1984/10=198余4, 4对应天干第4位是丁,即天干为丁;地支算法: 1987-3=1984, 1984/12=165余4, 4对应地支第4位是卯,即地支为卯;综上公元1987是用天干地支纪年为丁卯年。
二、月的计算方法查表三、日的计算方法查表1、3、5、7、9、11月的日期分别加47、46、47、48、50、51。
2、4、6、8、10、12月的日期分别加18、17、18、19、20、21其中1月和5月一样,2月和6月一样(平年)天干:甲1、乙2、丙3..........壬9、癸0.(个位数)地支:子1、丑2、寅3..........戌11、亥0(除12得的余数)例如:阳历 2010.7.13 7月,日期加48 13+48=61 尾数为1则天干是甲 61/12=5. 余数是1,则地支是1,2010.7.13是甲子日又例:阳历 2010.10.1日 10月,日期加20 1+20=21 尾数是1则天干是甲 21/12=1 余数是9,则地支是9。
2010.10.1是甲申日。
四、时的计算方法。
干支推算法年
年、月、日、时干支的推算法一、干支结合纪年:干支配合可以用来纪年、月、日、时,都可依据其所属干支的属性来分析这一年、月、日、时的变化大致情况。
在研究子午流注开穴,推演五运六气变化等过程中,都必须掌握年、月、日、时干支。
目前我们采用公元纪年,就需要将公元换算干支,以利应用。
干支纪年,其方法是把每一年配上一个天干和一个地支。
配的方法是天干在上,地支在下,按着干支的顺序依次向下排列。
天干的第一位是甲与地支第一位子相互配合起来便是甲子,这一年就叫甲子年。
从甲子年开始天干和地支相配合,每年不同,天干往复排列六次,地支往复排列五次,共得六十年。
以后又转到甲和子相合,所以每六十年称为一周,或者叫一个甲子。
我们一般把一个快满六十岁的人称为年近花甲,这就是因为六十年是一个甲子的意思。
为了避免临时换算麻烦,现将干支相合一周的次序,排列如后:古代历法,计年月日时皆由甲子开始,——年分十二个月,一日分十二个时辰。
每逢五年有六十个月,五天则有六十个时辰。
为便于记忆,有一首歌诀(见本书二十四页十六行)。
因为甲己、乙庚等皆隔五数,由甲至己周而复始。
甲己之年由甲子月开始,一月是甲子月。
甲己之日由甲子时开始,第一个时辰是甲子时。
乙庚年、日,第一月则为丙子,丙辛年、日,第一月则为戊子,丁壬年、日,第一月则为庚子,戊癸年、日,第一月则为壬子。
年干支的推算法;只要知道1982年是“壬戌”年,即可按干支六十环周顺推,则知1983年为“癸亥”年,倒推1981年为辛酉,1980年为庚申年。
如果不知道当年的干支或任何一年的干支怎么办呢?可采取如下公式:“取当年的年数,减去三,再从余数中除去干支周转数,余下的数字就是所求的年干支的代数。
例如:欲求1982年干支,1982—3:1979÷60(在1979这个数中共有32个60,即干支周转数),余下的59,按六十环顺推,就是“壬戌”,则知1982年干支为壬戌年。
又如:1983(年)—3=1980;以1980÷60(干支周数)=33余0,零表示六十甲子环最后一个,就是癸亥,可知“癸亥”是1983年的干支。
干支纪年法的简便算法
干支纪年法的简便算法(一)干支纪年法的传统算法一.干支纪年是我国传统的纪年方法。
1.干和支的含义:干支是天干,地支的合称。
干指天干,共有10个符号:甲乙丙丁戊己庚辛壬癸支指地支,共有12个符号:子丑寅卯辰巳午未申酉戌亥2.干和支组合后用于纪年。
即:将十天干和十二地支按顺序搭配组合成干支,用于纪年。
按此排法,当天干10个符号排了六轮与地支12个符号排了五轮以后,可构成60干支。
续排下去又将恢复原状,周而复始,即如民间所说“六十年转甲子”。
二.结合实际了解“十二地支”1.用十二种动物分别与十二地支相配成为“十二生肖年”。
(见下图)如凡是含有“子”的干支年,就是“鼠年”,这一年里出生的人都是属“鼠”;凡是含有“丑”的干支年就是“牛年”,这一年进而出生的人都是属“牛”。
以此类推。
(如下表)十二生肖年子鼠丑牛寅虎卯兔辰龙巳蛇午马未羊申猴酉鸡戌狗亥猪2.以十二地支来表示十二时辰。
一日有二十四小时,而我国传统则以十二个时辰来表示,即一时辰是二小时。
(如下表)二十四小时和十二时辰对照表子丑寅卯辰己23-01:01-03:03-05 :05-07:07-09:09-11午未申酉戊亥11-13:13-15:15-17:17-19:19-21:21-231(二)干支纪年法的简便算法传统的计算法,必须知道一个已知年,然后往前后推算,有一定的难度,下面我给大家介绍一种干支纪年法的简便算法,每个字都有对应的一个符号。
如下表:4 5 6 7 8 9 0 1 2 3甲乙丙丁戊己庚辛壬癸4 5 6 7 8 9 10 11 0 1 2 3子丑寅卯辰巳午未申酉戌亥4 5 6 7 8 9 10 11 0 1 2 3虎牛鼠兔龙蛇马羊猴鸡狗猪年份的最后一个数字就对应天干的相应的字,然后用年份除以12所得的余数,用这个余数去找相对应的地支字和十二生肖字,于是天干地支字的组合便是干支纪年,对应的生肖字便是生肖纪年。
如2006年,6对应的天干字是丙字,2006除以12的余数是2,2所对应的地支字是戌字,所对应的生肖字狗字,所以2006年是丙戌年,狗年。
公元后纪年的干支计算法
公元后纪年的干支计算法是中国古代专门用于纪年的一种方法,也是十二支与十天干相结合的一种纪年法。
它的起源可以追溯到西汉时期,至今已经有两千多年的历史。
干支纪年法在中国历史上广泛应用,不仅在历法上使用,还在文化、祭祀、卜筮等方面有着重要的作用。
在干支纪年法中,十天干按照以下的顺序排列:甲、乙、丙、丁、戊、己、庚、辛、壬、癸。
这十天干是以阴阳五行理论为基础,与地支配合使用,在干支纪年法中扮演重要的角色。
十二地支的排序是:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。
这十二地支按照十二地支时辰表排列,并与天干配合使用,用于干支纪年法的计算。
干支纪年法的计算方法相对简单,通过天干和地支的相配合,即可得到具体年份。
具体方法如下:首先,确定所记年份的公元纪年数,然后根据地支时辰表找到对应的天干,最后将天干和地支相配合,即可得到干支纪年。
例如,我们以2024年为例子,首先,确定2024年是公元纪年,然后根据地支时辰表可知,该年对应的地支是辰。
接下来,在天干中找到与辰相配合的天干是丙。
因此,2024年的干支纪年是丙辰年。
干支纪年法的应用非常广泛,尤其在中国传统文化中扮演着重要的角色。
比如,在农历中,每一年都使用干支纪年法来表示,这对于农耕文化的发展与延续有着重要的意义。
此外,在中国的祭祀活动中,干支纪年法也被广泛应用,用于计算吉日、祭祀时间等。
另外,干支纪年法还常被用于农历生肖的计算,每个属相都与干支纪年法相呼应,用于推算一个人的出生年份和属相。
总之,干支纪年法是中国古代纪年法的一种基础方法。
通过干支纪年法,我们可以追溯历史,计算时间,推算各种重要的日子和出生年份。
它不仅是一种实用的纪年工具,也是中国文化和传统的重要组成部分。
天干地支年与公元年份互算方法
一、如何算出用天干地支记录的年份是哪一年?
比如给个辛亥,壬戌问你这是哪一年
首先我们要有六十甲子表,然后一定要记住几个特殊的年份,如1984年为甲子年,类推1924,1864,1804,……均为甲子年。
1982,1922,1862,1802……都是壬戌年
二、由年份推算天干地支记法:
1.天干算法:用公元纪年数减3,除以10(不管商数)所得余数,就是天干所对应的位数;如果没有余数就是10。
2. 地支算法:用公元纪年数减3,除以12(不管商数)所得余数,就是地支所对应的位数;如果没有余数就是12。
天干:甲、乙、丙、丁、戊、已、庚、辛、壬、癸
地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥
例1. 我们以2010年为例:天干地支纪年为庚寅年。
天干算法:2010-3=2007,2007/10=200余7,7对应天干第7位是庚,即天干为庚。
地支算法:2010-3=2007,2007/12=167余3,3对应地支第3位是寅,即地支为寅。
中国干支纪年的计算
中国干支纪年是中国传统的纪年方法,由天干和地支组成。
其中,天干包括甲、乙、丙、丁、戊、己、庚、辛、壬、癸,而地支包括子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。
天干和地支按照一定的顺序组合,形成六十个年份的纪年循环。
本文将详细介绍中国干支纪年的计算方法,以及其历史和应用。
一、干支纪年的计算方法1.干支纪年的起始年份:干支纪年的起点是公元前2637年,即黄帝时期。
其纪年方法为“甲子”,对应于干支循环的第一个年份。
2.干支纪年的循环规律:干支纪年按照以下顺序进行循环:甲子、乙丑、丙寅,依次类推,直到癸亥;然后又从甲子开始循环。
一共经历六十个年份,形成一个纪年周期。
3.干支纪年的计算方法:首先,要确定需要计算的年份与起点年份的差值。
例如,计算公元2024年的干支纪年,就是计算从公元前2637年到公元2024年的年数差。
然后,将差值除以60,得到的余数即为干支纪年的序数。
最后,根据余数找到对应的天干和地支,即可得到干支纪年的具体表示。
二、干支纪年的历史干支纪年的历史发展中,出现过不少变革和调整。
例如,在唐朝时,隋唐历的干支纪年方法受到了西方佛教纪年法的影响,增加了西方天体称号(如日、月、火、水等),形成了干支五行纪年的体系。
但这种使用方式并未得到广泛应用。
三、干支纪年的应用干支纪年在中国文化和社会生活中具有重要的地位和广泛的应用。
以下是几个典型的应用示例:1.纪年方法:干支纪年是中国古代最常用的纪年方法之一,被用于编制历法、纪年记事、纪年文献等。
在现代,干支纪年仍然在农历、天文学、卜筮学等领域得到应用。
2.生肖年份:地支为十二生肖的年份,是干支纪年中最常见的应用之一、每一个地支与一个动物相对应,如子鼠、丑牛等。
每个人的出生年份都对应一个生肖,这被广泛用于个人命理学、生肖运程等领域。
3.节气纪年:节气纪年是中国古代农历和天文学中的一个应用。
节气是指太阳到达黄经每15度时的时刻。
干支纪年被用于确定四立(春分、夏至、秋分、冬至)和二十四节气等重要时刻。
农历及农历干支纪年、纪月、计日、计时方法
农历:农历,又称夏历、阴历、旧历,是东亚传统历法之一。
农历属于一种阴阳历,平均历月等于一个朔望月,但设置闰月以使平均历年为一个回归年,设置二十四节气以反映季节(太阳直射点的周年运动)的变化特征,所以又有阳历的成分。
至今几乎全世界所有华人及朝鲜、韩国和越南及早期的日本等国家,仍使用农历来推算传统节日如春节、中秋节、端午节等节日。
因为这种历法相传创始于夏代,所以称为夏历。
夏历有个辅助部分——节气。
节气如果也算历法的话,就是完全的太阳历。
节气和地球在绕太阳运动的轨道的位置有关,和月球无关。
节气是从立春开始的,一个太阳年是两个立春之间的时间,约365.2422天。
根据太阳的位置,把一个太阳年分成二十四个节气,以利于农业种植等活动。
夏历的纪年用天干地支搭配,六十年周而复始。
年份分为平年和闰年。
平年十二个月;闰年十二个月普通月份加一个闰月,总共十三个月。
月份分为大月和小月,大月三十天,小月二十九天。
一年中哪个月大,哪个月小,年年不同,由计算决定。
平年全年354~355天,闰年全年383~384天。
由于每平年的天数比太阳年约差十一天,所以采用设置闰年(即十二个普通月份加上一个闰月)的方法使这几年的平均日数尽量的接近3 65.2422日。
由于1回归年为12.368个朔望月,368/1000=46/125,所以在一百二十五年中应设置四十六个闰年。
但因为这样设闰太过复杂,经推算,7/19最接近0.368。
故一般的,在19年里中设置7个闰月,有闰月的年份全年383天或384天。
人们因为二十四节气对于农业生产有重要意义,因而常把夏历称为“农历”,但二十四节气应根据太阳在黄道上的位置而决定,应该属于太阳历部分。
因此把夏历称为阴历是不恰当的。
夏历是世界上广泛使用的历法中,唯一既照顾到太阳历,又照顾到阴历的历法。
因此,有人说西方的历法比中国科学,这显然是错误的。
比如,公历中,一个“月”的概念首先就已经违背了“月”这个初始的概念。
天干地支纪年计算方法
天干地支纪年计算方法
宝子,今天咱来唠唠天干地支纪年的计算方法哈。
天干呢,就是甲、乙、丙、丁、戊、己、庚、辛、壬、癸这十个;地支就是子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥这十二个。
咱先说一个简单的年份计算哈。
公元纪年和天干地支纪年有个大概的对应规律。
比如说,公元后的年份,它的尾数对应天干。
像2011年,尾数是1,那对应的天干就是辛。
然后呢,用这个年份除以12,得到的余数对应地支。
2011÷12 = 167余7,7对应的地支就是卯,所以2011年就是辛卯年。
不过呢,这里面有个小坑哈。
要是年份能被12整除,余数就是0,那这个0对应的地支就是亥。
还有哦,公元前的年份计算就有点不一样啦。
公元前的年份,它的尾数对应的天干要倒着数。
比如说公元前221年,尾数1对应的天干就是庚(因为从后往前数)。
然后计算地支呢,也是用这个年份除以12,余数对应地支,不过也是要倒着数的。
这天干地支纪年法可老有历史了,咱老祖宗用这个来纪年、纪月、纪日、纪时呢。
宝子要是想更熟练掌握这个计算方法,就多找几个年份练练手。
比如说你可以算算自己出生那年是什么天干地支年,是不是感觉还挺有趣的呀?这就像是打开了一扇通往古代时间记录的小窗户,透过它能看到古人的智慧在时间的长河里闪闪发光呢。
宝子,你要是在计算的时候遇到啥问题,随时来找我唠哈,咱一起把这个好玩的天干地支纪年法搞明白。
。
农历干支纪年法的数字公式计算
农历干支纪年法的数字公式计算
中国古代历史纪年的方式有皇帝年号纪年法和农历干支纪年法。
用甲乙丙丁戊己庚辛壬癸十大天干,子丑寅卯辰巳午未申酉戌亥十二地支十二个属相,各用一个字合并计算,如甲子,乙丑等.甲子开始排列依次类推,六十年一个轮回,六十一年又开始甲子年排列轮回。
如果随机计算哪一年是什么干支纪年,就有点困难,我给大家推荐一个计算公式,就比较简单了。
天干:甲乙丙丁戊己庚辛壬癸
①
地支:子丑寅卯辰巳午未申酉戌亥
①
举个列子,1911年,我们知道是农历辛亥年,是这样计算的:年的尾数1,从天干的辛开啥数,1911除以12所得余数3,从地支的酉开始数到3是亥,所以1911年就是辛亥年,其它任意一年都可以这样计算,大家可以试试看。
干支计算法
例如:查2006年4月1日的干支日。 将数值代入计算公式。
G =4*20 + [20 / 4] + 5*06 + [06 / 4] + [3 * (4 + 1) / 5] + 1 - 3 =197
除以10 余数为 7 ,天干的第7位是‘庚’。
Z =8*20 + [20 / 4] + 5*06 + [06 / 4] + [3 * (4 + 1) / 5] + 1 + 7 + 6 =213
2028年6月23日 闰五月大 戊申年
2031年4月22日 闰三月大 辛亥年
2033年8月25日 闰七月大 癸丑年
2036年7月23日 闰六月小 丙辰年
2039年6月22日 闰五月大 己未年
2042年3月22日 闰二月大 壬戊年
年的天干为甲或已时,则正月的天干为丙;
年的天干为乙或庚时,则正月的天干为戊;
年的天干为丙或辛时,则正月的天干为庚;
年的天干为丁或壬时,则正月的天干为壬;
年的天干为戊或癸时,则正月的天干为甲。
首先推算出该年农历正月的天干,其余月份可按天干顺序号类推。该年正月的天干序号的计算为:取公元年份除以5的余数减2后乘以2再减1。当该数为负数时加10
2004年是公历“闰年”,2月为29天,比平年2月28天多一天。古代埃及人及我国春秋时代的历法家都测算出一年为365天。实际上,地球围绕太阳转一周的时间(即阳历的一年)为365天5时48分46秒。这样,4年时间就要多出23时15分4秒,接近一天(24小时)的时间,于是,历法家便规定每四年置一个“闰年”,即在这一年的2月增加一天,这一天也称“闰日”,后来又规定每400年置97个闰年。
天干地支纪年法及其换算方法
我国古代是用天干地支来纪年的,现代社会已很少使用。
一来现今社会已经离不开国际化,沿用老的历法已经不现实;二来天干地支在民间多用于算命测字,带用浓重的迷信色彩,实在与科技现代社会格格不入。
但一个优秀的民族是不会抛弃她的历史和文化的。
历史事件、诗词、字画等中,又出现大量天干地支纪年法,对他的了解、熟悉还是很有必要的。
以下,让我们稍微了解一下:一.天干地支之由来天干地支简称为“干支”天干地支相当于树干和树叶。
它们是一个互相依存,互相配合的整体。
中国古代以天为“主”,以地为“从”。
“天”和“干”互联叫做“天干”;“地”和“支”互联叫做“地支”,合起来就是“天干地支”。
天干有十个字,总称为“十天干”。
地支有十二个字,总称为“十二地支”。
天干地支原始意义,有这样有趣的说法:1、天干(甲)象草林破土而萌,阳在内而被阴包裹。
又有认为,甲者铠甲也,把万物冲破其甲而突出了。
(乙)草木初生,枝叶柔软屈曲伸长。
乙者轧也。
(丙)丙,炳也,如赫赫太阳,炎炎火光,万物皆炳然著见而明。
(丁)壮也,草木成长壮实,好比人的成丁。
(戊)茂也,象征大地草木茂盛。
(己)起也,纪也,万物仰屈而起,有形可纪。
(庚)更也,秋收而待来春。
(辛)金味辛,物成而后有味。
又有认为,辛者新也,万物肃然更改,秀实新成。
(壬)妊也,阳气潜伏地中,万物怀妊。
(癸)揆也,万物闭藏,怀妊地下,揆然明芽。
2、地支(子)孽也,草木生子,吸土中水分而出,为一阳萌的开始。
(丑)纽也,草木在土中出芽,屈曲着将要冒出地面。
(寅)演也,津也,寒土中屈曲的草木,迎着春阳从地面伸展。
(卯)茂也,日照东方,万物滋茂。
(辰)震也,伸也,万物震起而生,阳气生发已经过半。
(巳)起也,万物盛长而起,阴气消尽,纯阳无阴。
(午)仵也,万物丰满长大,阳起充盛,阴起开始萌生。
(未)味也,果实成熟而有滋味。
(申)身也,物体都已长成。
(酉)老也,犹也,万物到这时都犹缩收敛。
(戌)灭也,草木凋零,生气灭绝。
干支纪年的推算方法
A 干支纪年的推算方法我们中国古代是以干支纪年、月、日、时。
干,即十干:甲乙丙丁戊己庚辛壬癸支,即十二支:子丑寅卯辰巳午未申酉戌亥干支纪年推算方法一:设定天干地支的对应数字如下:天干:甲乙丙丁戊己庚辛壬癸4 5 6 7 8 9 0 1 2 3地支:子丑寅卯辰巳午未申酉戌亥4 5 6 7 8 9 10 11 0 1 2 3推算方法:某年的天干就是这个年分的个位数所对应的天干,地支就是这个年分除以12所得余数的对应地支。
如1997年,个位是7,对应的天干是“丁”;1997除以12余数为5,对应的地支是“丑”,那么,1997年就为“丁丑年”。
再如2000年,个位数是0,对应的天干就是“庚”;2000除以12余数为8,对应的地支是“辰”,那么2000年就是“庚辰年”。
方法二:首先记住六十甲子的序数六十甲子表01 甲子11 甲戌21 甲申31 甲午41 甲辰51 甲寅02 乙丑12 乙亥22 乙酉32 乙未42 乙巳52 乙卯03 丙寅13 丙子23 丙戌33 丙申43 丙午53 丙辰04 丁卯14 丁丑24 丁亥34 丁酉44 丁未54 丁巳05 戊辰15 戊寅25 戊子35 戊戌45 戊申55 戊午06 己巳16 己卯26 己丑36 己亥46 己酉56 己未07 庚午17 庚辰27 庚寅37 庚子47 庚戌57 庚申08 辛未18 辛巳28 辛卯38 辛丑48 辛亥58 辛酉09 壬申19 壬午29 壬辰39 壬寅49 壬子59 壬戌10 癸酉20 癸未30 癸巳40 癸卯50 癸丑60 癸亥推算方法公式:(所求干支的阳历年数—3)除以60=商……余数这里的余数即为所求干支年的序数,然后查上面的六十甲子表,与之相对应的干支即为所求年干支公元纪年与干支纪年的推算(2009-04-24 21:36:35)由公元纪年推算干支纪年法一:六十天干纪年法一览表于公元前后的推算均适用,具体的方法如下:1,求公元后某年(设为Y)的干支。
干支纪年月日时法
干支纪年月日时法干支纪年1. 天干算法:用公元纪年数减3,除以10(不管商数)所得余数,就是天干所对应的位数;2. 地支算法:用公元纪年数减3,除以12(不管商数)所得余数,就是地支所对应的位数;天干:甲、乙、丙、丁、戊、已、庚、辛、壬、癸地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥例1. 我们以2010年为例;天干算法: 2010-3=2007,2007/10=200余7, 7对应天干第7位是庚,即天干为庚;地支算法: 2010-3=2007, 2007/12=167余3, 3对应地支第3位是寅,即地支为寅;综上公元2010是用天干地支纪年为庚寅年。
为使各位信任此算法,本人再举一例来说明:例2. 我们再以1987年为例;天干算法: 1987-3=1984,1984/10=198余4, 4对应天干第4位是丁,即天干为丁;地支算法: 1987-3=1984, 1984/12=165余4, 4对应地支第4位是卯,即地支为卯;综上公元1987是用天干地支纪年为丁卯年。
也可以天干:年份÷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年为辛巳年。
干支纪年法
干支纪年法纪年方法有很多,如天文纪年法、历史纪年法、帝王年号纪年法、公元纪年和干支纪年法。
其中公元纪年和干支纪年是我国现行并用的两种纪年法。
现在国际上通用的公元纪年法,是从所谓的耶稣出生之年算起,这一年叫公元元年,这一年以前的年份叫公元前某年,以后的年份叫公元某年。
公元纪年是近代由西方传入我国的一种新纪年法。
咱中国是1949年9月27日,中国人民政治协商会议第一届全体会议通过使用‚公元纪年法‛,中国正式与世界通用的纪年法接轨。
干支纪年法是一种中国古代传统的纪年法,传说出自黄帝时代。
实际是萌芽于西汉初,始行于汉成帝末年,一直延续到现在仍然在使用,也是目前公务员考试的热点,还是办公室工作人员所必备的知识。
干支纪年法即十个天干和十二个地支按一定顺序配合组成。
干支纪年法的新一年由立春开始,经过六十年又回到甲子,周而复始,循环不已。
历史上的一些重大事件常用它来表示,如‚辛酉政变‛‚甲午中日战争‛、‚戊戌变法‛、‚辛丑条约‛、‚辛亥革命‛等等。
那么如何推算公元某年是干支纪年哪一年呢?首先我们要了解干支纪年法。
干支纪年法是指由十个天干即甲、乙、丙、丁、戊、己、庚、辛、壬、癸,和十二地支即子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥依次相配,组成六十个基本单位,以此作为年的序号。
1.天干(甲)象草林破土而萌,阳在内而被阴包裹。
又有认为,甲者铠甲也,把万物冲破其甲而突出了。
(乙)草木初生,枝叶柔软屈曲伸长。
乙者轧也。
(丙)丙,炳也,如赫赫太阳,炎炎火光,万物皆炳然著见而明。
(丁)壮也,草木成长壮实,好比人的成丁。
(戊)茂也,象征大地草木茂盛。
(己)起也,纪也,万物仰屈而起,有形可纪。
(庚)更也,秋收而待来春。
(辛)金味辛,物成而后有味。
又有认为,辛者新也,万物肃然更改,秀实新成。
(壬)妊也,阳气潜伏地中,万物怀妊。
(癸)揆也,万物闭藏,怀妊地下,揆然明芽。
2.地支(子)孽也,草木生子,吸土中水分而出,为一阳萌的开始。
干 支 纪 年 法
干支纪年法一.十支纪年是我国传统的纪年方法。
1.干和支的含义:干支是天干,地支的合称。
干指天干,共有10个符号:1 2 3 4 5 6 7 8 9 10甲乙丙丁戊己庚辛壬癸支指地支,共有12个符号:1 2 3 4 5 6 7 8 9 10 11 12子丑寅卯辰巳午未申酉戌亥2.干和支组合后用于纪年。
即:将十天干和十二地支按顺序搭配组合成干支,用于纪年。
按此排法,当天干10个符号排了六轮与地支12个符号排了五轮以后,可构成60干支。
续排下去又将恢复原状,周而复始,即如民间所说“六十年转甲子”。
二.查看不同时间段的万年历。
如:1516—2060年的万年历,记着五百年的干支,一查便知。
六十年甲子(干支表)1 2 3 4 5 6 7 8 9 10甲子乙丑丙寅丁卯戊辰己巳庚午辛未壬申癸酉11 12 13 14 15 16 17 18 19 20甲戌乙亥丙子丁丑戊寅己卯庚辰辛己壬午癸未21 22 23 24 25 26 27 28 29 30甲申乙酉丙戌丁亥戊子己丑庚寅辛卯壬辰癸巳31 32 33 34 35 36 37 38 39 40甲午乙未丙申丁酉戊戌己亥庚子辛丑壬寅癸卯41 42 43 44 45 46 47 48 49 50甲辰乙巳丙午丁未戊申己酉庚戌辛亥壬子癸丑51 52 53 54 55 56 57 58 59 60甲寅乙卯丙辰丁巳戊午己未庚申辛酉壬戌癸亥根据“六十年甲子(干支表)”的公元年对应进行向上或朝下地反推。
如:《辛亥革命》的辛亥年是1911年(48号干支),《戊戌变法》的戊戌年为35号干支,比辛亥年早13年,则“1911-13=1898”故《戊戌变法》是1898年。
应用公元年进行计算。
应用公元年的某一年,聊以60(指六十年甲子),余数小于60,再用余数减去3(干支纪年是从公元4年开始使用的),便知。
如2002年:2002÷60,余数为22,再22-3,得数是19,查六十年甲子(干支表)19号干支,得知是壬午年。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蓝桥杯-代码填空之二
干支纪年法—歌赛新规则—红球多于白球的概率—交换变量—考拉兹猜想—利息计算
①干支纪年法
在我国古代和近代,一直采用干支法纪年。
它采用10天干和12地支配合,一个循环周期为60年。
10天干是:甲,乙,丙,丁,戊,己,庚,辛,壬,癸
12地支是:子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥
如果某年是甲子,下一年就是乙丑,再下是丙寅,.癸酉,甲戌,乙亥,丙子,.
总之天干、地址都是循环使用,两两配对。
今年(2012)是壬辰年,1911年辛亥革命
下面的代码根据公历年份输出相应的干支法纪年。
已知最近的甲子年是1984年。
void f(int year)
char* x[] = {"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"};
char* y[] = {"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"};
int n = year - 1984;
while(n0) n += 60;
printf("%s%s", x[_______], y[_______]);
int main(int argc, char* argv[])
f(1911);
f(1970);
f(2012);
return 0;
这道题,最近的一个甲午年(就是对10或者12取模都为0)是1984年,就以它为标准,求模就可以了,
题目中也有对给出的年份小于1984年的处理(n+=60),这题难度,应该很小了。
答案: ?n%10 n%12?
②歌赛新规
歌手大赛的评分规则一般是去掉一个最高分,去掉一个最低分,剩下的分数求平均。
当评委较少的时候,如果我们只允许去掉一个分数,该如何设计规则呢?
有人提出:应该去掉与其余的分数平均值相差最远的那个分数。
即“最离群”的分数。
以下的程序用于实现这个功能。
其中x存放所有评分,n表示数组中元素的个数。
函数返回最“离群”的那个分数值。
double score(double x[], int n)
int i,j;
double dif = -1;
double bad;
for(i=0; in; i++)
double sum = 0;
for(j=0; jn; j++)
if(________) sum += x[j];
double t = x[i] - sum - (n-1);
if(t0) t = -t;
if(tdif)
bad = x[i];
printf("%d, %f", i, x[i]);
return bad;
题目很简单,就是求最离群的数字,如果让我打代码,我猜可能是求最大和最小的,然后剩下的求平均,通过它们之间的差值来查找,这题目的做法,应该是,计算n-1个平均值,来比较,所以两层循环,第一层,计算2~n的,第二层计算1,3~n。
所以if里应该是去除掉当前循环的i,对应的值再求和
答案:i!=j
③概率问题
某个袋子中有红球m个,白球n个。
现在要从中取出x个球。
那么红球数目多于白球的概率是多少呢?
下面的代码解决了这个问题。
其中的y表示红球至少出现的次数。
这与前文的问题是等价的。
因为如果取30个球,要求红球数大于白球
数,则等价于至少取出16个红球。
m: 袋中红球的数目
n: 袋中白球的数目
x: 需要取出的数目
y: 红球至少出现的次数
double pro(int m, int n, int x, int y)
if(yx) return 0;
if(y==0) return 1;
if(ym) return 0;
if(x-ny) return 1;
double p1 = _______________________;
double p2 = _______________________;
return (double)m-(m+n) * p1 + (double)n-(m+n) * p2;
刚开始,我以为要直接求出来p1,p2,但是后来一想,不对啊,代码填空题,只给了一个函数,没有给主函数那些,肯定是递归了,再加上题目中给了递归终止的条件,所以肯定是递归了。
知道了递归以后就很简单了:模拟拿球情况,要么拿了一个红球,要么拿了一个白球。
答案:pro(m-1,n,x-1,y-1) ?
pro(m,n-1,x-1,y) ?
④交换变量
如果要把两个整型变量a、b的值交换,一般要采用一个中间变量做过
渡,
但也可以在不借助任何其它变量的情况下完成。
a = _________;b = _________;a = _________;
这道题目,有很多种解法,我这里就给出两种吧,一个是用位运算—?^ ^(异或)是将两边数都转换成2进制,然后异或,
第一种方法:a=a^b,b=a^b,a=a^b
第二种方法就是 ?a=a+b,b=a-b,a=a-b
⑤考拉兹猜想
“考拉兹猜想”(又称3n+1猜想、角谷猜想、哈塞猜想、乌拉姆猜想或叙拉古猜想)和“哥德巴赫猜想”一样目前还没有用数学方法证明其完全成立。
在1930年,德国汉堡大学的学生考拉兹,曾经研究过这个猜想,因而得名。
在1960年,日本人角谷静夫也研究过这个猜想。
该猜想的叙述十分简单:从任何一个正整数n出发,若是偶数就除以2,若是奇数就乘3再加1,如此继续下去,经过有限步骤,总能得到1。
例如:17-52-26-13-40-20-10-5-16-8-4-2-1
该猜想虽然没有完全证明,但用计算机验证有限范围的数字却十分容易。
for(int n=2; n=10000; n++)
int m = n;
for(;;)
if(____________)
m = m * 3 + 1;
if( m == 1 )
printf("%d ok! ", n);
这道题,额,看起来很高端大气上档次,猜想也很厉害的样子,但是空就有些。
根据题目所给,遇到偶数时 ?该数除以2,所以答案就是判断m是不是偶数: m%2==0
⑥利息计算
小李年初在银行存款1千元(一年定期)。
他计划每年年底取出100元救助失学儿童。
假设银行的存款利率不变,年利率为3%,年底利息自动计入本金。
下面的代码计算5年后,该账户上有多少存款。
double money = 1000;
int n = 5;
for(i=0; in; i++)
money = _______________;
money -= 100;
printf("%.2f", money);
这道题啊,唉,每年年末,要把本金加上利息都算上再存进去,扣的钱就不需要减了,下面代码帮助你减了。
答案:money=money*1.03
刚开始,我以为要直接求出来p1,p2,但是后来一想,不对啊,代码填空题,只给了一个函数,没有给主函数那些,肯定是递归了,再加上题目
中给了递归终止的条件,所以肯定是递归了。
如果我们仔细观察乘法的计算过程,就会发现实际上对乘积的尾数有贡献的环节,从而不用真正计算出。