干 支 法 纪 年 算 法 ( 2 0 2 0 )
如何计算年月日时干支
年干支计算年份-3,将减去后的数除以10,其余数所对应的天干即为该年的天干;将减去后的数除以12,其余数所对应的地支即为该年的地支。
如2010年,2010-3=2007,200710······7,余数为7,7所对应的天干即为庚;200712······3,余数为3, 3所对应的地支即为寅。
所以2010年的干支即为庚寅。
N=x-3-60m (0<N ≦60)月干支查算表用六十甲子记月,因为每月的地支是固定不变的,即正月为寅月,二月为卯月,依此类推。
而月份的天干却不固定,必须经推算才能排出。
推算的歌诀为: 甲已之年丙作首,乙庚之岁戊为头, 丙辛之岁寻庚上,丁壬壬寅顺行流, 戊癸之年何方发,甲寅之上好追求。
解释:甲已之年丙作首,就是说,遇甲年或已年,正月为丙寅月,然后顺次推出二月丁卯、三月戊辰......乙年、庚年的正月寅与戊相配,即戊寅,二月已卯、三月庚辰......如2005年为甲申年,十二个月干支即为下表中“甲已”列中所列: 此为已知年干支后,以年干支查算月干支的表格,又名年上起月表 查算方法年干 甲已 乙庚 丙辛 丁壬 戊癸 如要查1948年三月和2000年四月的干支一、必须先按《公元前后干支纪年查对表》或者《近两轮六十甲子与公历纪年检索表》查出年干支,如:1948年干支为:戊子;2000年干支为:庚辰 二、在“年干”栏找到与已知年干支对应的“干”,如:戊子为:戊癸,庚辰为:乙庚三、月份与年干交叉的位置即为月干支。
如:1948年戊子年三月干支为丙辰,2000年庚辰年四月干支为“辛巳”月干支为四柱之二,八字中的第三、四字 正 月 丙寅 戊寅 庚寅 壬寅 甲寅 二 月 丁卯 已卯 辛卯 癸卯 乙卯 三 月 戊辰 庚辰 壬辰 甲辰 丙辰四 月 已巳 辛巳 癸巳 乙巳 丁巳 五 月 庚午 壬午 甲午 丙午 戊午六 月 辛未 癸未 乙未 丁未 已未 七 月 壬申 甲申 丙申 戊申 庚申 八 月 癸酉 乙酉 丁酉 已酉 辛酉 九 月 甲戌 丙戌 戊戌 庚戌 壬戌 十 月 乙亥 丁亥 已亥 辛亥 癸亥十一月 丙子 戊子 庚子 壬子 甲子 十二月丁丑已丑辛丑癸丑乙丑对于日干支我们平时都是去查万年历,但在没有万年历的情况下该怎样去计算日干支呢?盲人有一套口诀但比较繁琐我们很难记住,下面介绍一种通过阳历的年月日来计算日干支的方法:首先要记住六十甲子的序号1甲子、2乙丑、3丙寅、4丁卯..........59壬戌、60癸亥。
干支纪年计算公式
干支纪年计算公式
干支纪年是一种传统的纪年方式,以十个天干(甲、乙、丙、丁、戊、己、庚、辛、壬、癸)和十二个地支(子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥)相互搭配组成六十个组合,每组代表一个年干支。
以下是计算干支纪年的方法:
首先确定计算年份,以年份的后两位数乘以5,再加上5,最后以天干为余数,以地支为除数,算出结果即为所求的干支纪年。
例如,要计算2023年的干支纪年,首先将2023年除以5,余数为3,对应天干中的第三个位置,即“癸”;然后将2023年除以12,余数为9,对应地支中的第九个位置,即“戌”。
因此,2023年的干支纪年为“癸戌”。
需要注意的是,这个方法只适用于计算最近的五百年以内的年份,对于更早的年份则需要另外计算。
同时,天干和地支的顺序需要注意,不能错位或颠倒。
天干地支纪年的计算方法
天干地支纪年的计算方法简介:天干地支ti a n^ n zh i 天干地支简称“干支”。
“辞源”里说,“干支”取义于树木的“干枝”。
十天干:甲(ji 为、乙(y)丙(bi n)丁(d i n)戊(wu)>己(j )庚(ge ng、辛(x i )壬(r n)癸(gu)十二地支:子(z )丑(ch 、寅(y n)卯(mdo)、辰(ch旳)巳( s )午(wd)未(wei)>申(shen酉(yb)戌(xu)>亥(h ci)(注:十二地支对应十二生肖 [1] ------------------------- 子: 鼠;丑:牛;寅:虎;卯:兔;辰:龙;巳:蛇;午:马;未:羊;申:猴;酉:鸡;戌:狗;亥:猪。
)。
早在公元前 2697 年,于中华始祖黄帝建国时,命大挠氏探察天地之气机,探究五行(金木水火土)),始作甲、乙、丙、丁、戊、己、庚、辛、壬、癸十天干,及子( z)丑(ch 6)寅(y n)、卯(mdo)、辰(ch en)、巳( s )午(wu)>未(wei)申(sh e n 酉(y 6 U、戌(xo)亥(hC、十二地支,相互配合成六十甲子用为纪历之符号。
根据《五行大义》中记载,干支是大挠创制的。
大挠“采五行之情,占斗机所建,始作甲乙以名日,谓之干,作子丑以名月,谓之枝。
有事于天则用日,有事于地则用月。
阴阳之别,故有枝干名也。
”▲天干地支纪年与公历的近似换算从已知的公历年份计算干支纪年:年份数减 3,除以 10的余数是天干,除以 12 的余数是地支。
(公元前的年份则用 58-“年份数除以 60的余数”后计算)也可以天干:年份出0,得到的商不管,看余数,若余数—3得正,则按天干顺序往下数,得数即为天干顺序数,若余数- 3 为负,则 +10,得到的数即为天干数,若余数为3,则为天干的最后一位,即癸。
地支:年份^12,得到的商不管,看余数,若余数- 3得正,则按地支顺序往下数,得数即为地支顺序数。
若余数— 3 为负,则 +12,得到的数即为地支顺序数,若余数为3,则为地支的最后一位,即亥。
天干地支的计算方法及天干地支查询表
天干地支的计算方法及天干地支查询表天干地支简称干支,是夏历中用来编排年号和日期用的。
干支还有阴阳之分:甲、丙、戊、庚、壬为阳干,乙、丁、己、辛、癸为阴干;子、寅、辰、午、申、戌为阳支,丑、卯、巳、未、酉、亥为阴支。
以一个天干和一个地支相配,排列起来,天干在前,地支在后,天干由甲起,地支由子起,阳干配阳支,阴干配阴支(阳干不配阴支,阴干不配阳支),共有六十个组合,称为“六十甲子”。
我国人民过去就是以六十甲子循环起来纪年、纪月、纪日、纪时的。
干支纪年法:如甲子为第一年,乙丑为第二年,丙寅为第三年……六十年为一周。
一周完了,再由甲子年起,周而始,循环下去。
阳历年份除以60的余数减3便得到该年农历干支序号数,再查干支表便是干支年纪。
如果序号数小于、等于零则于支序号数加60。
如计算2008年的干支,即为:2008/60=33余数为28,28-3=25,查干支表知该年为戊子。
又如求1983年干支:1983÷60=33余3,干支序号=3-3=0,加上60,查干支表知该年为癸亥。
表一天干和地支天干和地支组合便成为以「甲子」为首的六十干支循环(表二)。
表二六十干支表历史上以干支纪年、纪月、纪日和纪时的起始年代各不相同。
干支纪年和纪日已使用了二、三千年。
月份和时辰本来只与十二地支配对(图一和表三),后来人们根据年干订定月干(表四),又根据日干订定时干(表五),把年、月、日、时的干支合成八字。
表三十二辰和现今时间的对应关系表四年干和月干的对应关系表五日干和时干的对应关系子丑寅卯辰巳午未申酉戌亥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甲寅乙卯丙辰丁巳戊午己未庚申辛酉壬戌癸亥根据“六十年甲子(干支表)”的公元年对应进行向上或朝地反推。
干支纪年与公历换算
干支纪年与公历换算一、由公元推干支为了便于运算和使检索更加直观,用六十干支表并按顺序加以编号成表一如下:表一:六十干支表1,求公元后某年(设为Y)的干支。
方法是:先以Y除以60得出余数,然后再减去4,最后根据所得结果查表一中相应序数所对应的干支即为该年的干支。
例如求公元1911年的干支:1911÷60余数为51,减4后得47,查表一47对应的干支是辛亥,即1911年为辛亥年。
由于干支纪年60年一循环,当Y÷60的余数小于4时,需借干支纪年的一个周期60之数,例如1981年除以60余数为1,直接减4不够减,加上60之后再减4等于57,查表一便知1981年为辛酉年。
余可类推。
2,求公元前某年(设为X)的干支。
方法是:先以X除以60求其余数,再用57减去所得余数,根据所得结果再查表一中对应的干支,即为该年的干支。
例如求公元前221年的干支:221÷60,余数是41,以57-41=16,查表一16对应的是庚辰,即公元前221年对应的干支应为庚辰。
同样由于干支纪年的循环周期为60年,当余数大于57时,也需再借60。
例如求公元前479年(孔子卒年)的干支:479除以60余59,用57减59不够减,加上60之后再减59等于58,查表一知该年对应的干支为壬戌。
其余可以类推。
上述方法简便易行,只要记住表一,就完全可以不用纸笔,直接由心算推出结果。
此外,由于六十甲子是由十天干和十二地支依次搭配而成,十天干按顺序循环使用。
也就是说,在干支纪年中,同一天干每十年出现一次,而公元纪年年数采用十进位制。
由此推知,某天干必然和公元年份某一固定的尾数(个位数)相对应,于是得出十天干与公元纪年的个位数对照表如下(表二):表二:十天干与公元纪年个位数对照表根据表二,凡公元某年个位数为7,其对应的天干必为丁,若个位数是3,则对应天干是癸,余类推;凡公元前某年个位数为7,其对应的天干必为甲,若个位数是3,则对应天干是戊,余类推。
如何计算年月日时干支
年月日时干支是中国传统历法中使用的一种时间计算方法,主要用于干支纪年、纪月、纪日和纪时。
干支是指天干和地支,共十干十二支,分别表示了不同的年、月、日、时。
下面将详细介绍如何计算年月日时干支。
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小时的基础上,根据天干和地支的顺序来计算每个时辰的干支。
-从早子时开始,依次按照天干地支的顺序对应到每个时辰。
-例如,早子时对应甲子时,早丑时对应乙丑时,以此类推,晚子时再次对应甲子时。
需要注意的是,以上的计算方法是以农历为基础,对应的公历日期可能会有所不同。
同时也需要考虑到历法的变化和修正。
在实际应用中,通常可以通过查询相关的农历工具或网站来获取具体的干支纪年、纪月、纪日和纪时。
天干地支和算法详解!
天干地支和算法详解!天干地支简称干支,是夏历中用来编排年号和日期用的。
天干是:甲、乙、丙、丁、戊、己、庚、辛、壬、癸,也叫天干;地支是:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥,也称十二地支。
读音依次读作十天干:甲(jiǎ)、乙(yǐ)、丙(bǐng)、丁(dīng)、戊(wù)、己(jǐ)、庚(gēng)、辛(xīn)、壬(rén)、癸(guǐ);十二地支:子(zǐ)、丑(chǒu)、寅(yín)、卯(mǎo)、辰(chén)、巳(sì)、午(wǔ)、未(wèi)、申(shēn)、酉(yǒu)、戌(xū)、亥(hài)干支还是阴阳之分:甲、丙、戊、庚、壬为阳干,乙、丁、己、辛、癸为阴干;子、寅、辰、午、申、戌为阳支,丑、卯、巳、未、酉、亥为阴支。
以一个天干和一个地支相配,排列起来,天干在前,地支在后,天干由甲起,地支由子起,阳干配阳支,阴干配阴支(阳干不配阴支,阴干不配阳支),共有六十个组合,称为“六十甲子”。
我国人民过去就是以六十甲子循环起来纪年、纪月、纪日、纪时的。
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.癸亥干支纪年法阳历年份除以60的余数减3便得该年农历干支序号数,再查上面的干支便是干支年纪。
天干地支纪年法公式
天干地支纪年法是中国古代一种纪年方式,它以天干和地支的循环组合来表示年份。
在纪年法中,天干和地支各有十个字,它们按照既定的顺序循环排列,每60年为一个周期,这种纪年方式起源于中国古代的天文学和卜筮术,被广泛应用于历法和年代记述。
天干地支纪年法的起源可以追溯到商代和西周时期,当时人们观测到太阳、地球和月球的运动规律,根据这些规律制定了天干地支的纪年法。
根据这个纪年法,从古至今的年份可以用农历和阳历相互转换,并且每个年份都可以对应一个天干地支的组合,称为纪年。
这个纪年的组合是按照天干地支的顺序排列的,如甲子、乙丑、丙寅等。
年份 = (年-3) mod 60其中,年是指阳历年份。
这个公式可以将阳历年份转化为天干地支年份。
在计算年份时,需要先将阳历年份减去3,然后再对60取余数,得到的结果即为所求的天干地支纪年。
例如,公元2024年减去3得到2024,然后对60取余数,得到结果为19、根据天干地支的顺序,数字19对应的天干地支纪年是己亥。
所以,公元2024年对应的天干地支纪年是己亥年。
根据天干地支纪年法的原理,可以通过已知的天干地支纪年推算出对应的阳历年份。
具体的计算公式如下:年份=天干地支纪年+3例如,如果已知一些年份的天干地支纪年是己亥,那么可以通过将这个纪年加上3来得到对应的阳历年份。
19+3=22,所以己亥年对应的阳历年份是2024年。
天干地支纪年法在中国历史上被广泛应用于纪年、史书记载、祭祀等方面。
它不仅能够标识出每一年的特定纪年,还有助于推算过去和未来的年份。
此外,天干地支纪年法还与中国的农历有着密切的关系,它们共同组成了中国古代时间体系的重要组成部分。
这种纪年方式的应用不仅局限于中国,一些汉字文化圈的国家和地区,如日本、朝鲜等,也有使用天干地支纪年法的历法系统。
干支纪年法的简便算法
干支纪年法的简便算法(一)干支纪年法的传统算法一.干支纪年是我国传统的纪年方法。
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年是丙戌年,狗年。
干支纪年换算与五行属性分析
快速推算年月日时的干支法天干地支,简称“干支”。
在中国古代的历法中,甲、乙、丙、丁、戊、己、庚、辛、壬、癸被称为“十天干”,子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥叫作“十二地支”。
十干和十二支依次相配,组成六十个基本单位,两者按固定的顺序互相配合,组成了干支纪法。
天干地支产生炎黄时期,天干地支纪年法以立春作为一年的开始而不是以农历的正月初一。
天干与地支的对应解释如下:干者犹树之干也。
甲:像草木破土而萌,阳在内而被阴包裹。
乙:草木初生,枝叶柔软屈曲。
丙:炳也,如赫赫太阳,炎炎火光,万物皆炳燃着,见而光明。
丁:草木成长壮实,好比人的成丁。
戊:茂盛也,象征大地草木茂盛繁荣。
己:起也,纪也,万物抑屈而起,有形可纪。
庚:更也,秋收而待来春。
辛:金味辛,物成而后有味,辛者,新也,万物肃然更改,秀实新成。
壬:妊【rèn】也,阳气潜伏地中,万物怀妊。
癸:揆【kúi】也,万物闭藏,怀妊地下,揆然萌芽。
支者犹树之枝也。
子:孳【zī】也,阳气始萌,孳生于下也。
丑:纽也,寒气自屈曲也。
寅:演也,津也,寒土中屈曲的草木,迎着春阳从地面伸展。
卯:茂也,日照东方,万物滋茂。
辰:震也,伸也,万物震起而生,阳气生发已经过半。
巳:巳也,阳气毕布已矣。
午:仵【wǔ】也,万物丰满长大,阴阳交相愕而仵,阳气充盛,阴气开始萌生。
未:眛也,日中则昃,阳向幽也。
申:伸束以成,万物之体皆成也。
酉:就也,万物成熟。
戌:灭也,万物灭尽。
亥:核也,万物收藏,皆坚核也。
一、快速推算年柱干支法推算公式(年柱)方法一:1、记住如下的天干、地支顺序:天干地支顺序表-12、掌握配对原则:阳(阴)干对阳(阴)支阳干:1甲、3丙、5戊、7庚、9壬阳支:1子、3寅、5辰、7午、9申、11戌3、公式:假设某公历年为n年,则有:天干年号=mod{(n-3/10}地支年号=mod{(n-3/12}注意:mod表示除法取余数的运算。
例:求1911年干地支?天干(1911-3)/10=190…8→辛地支(1911-3)/12=159…0→亥<能被12整除>,所以1911年为辛亥年。
日的干支计算方法
日的干支计算方法
干支纪年法可是咱老祖宗传下来的宝贝呢。
想知道日的干支怎么计算呀,这可有点小复杂,但也超有趣的。
咱得先知道干支的顺序。
天干有十个,就是甲、乙、丙、丁、戊、己、庚、辛、壬、癸。
地支有十二个,子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。
有一种简单点的计算日干支的小方法哦。
对于1900 - 1999年之间的年份,计算日干支有个小公式。
年的后两位乘以5,加上年的后两位除以4的商(取整数),加上9,加上日数,再加已经过的几个大月数(大月就是31天的月哦,比如1月、3月这些,3月以前算0个大月,4月就算1个大月,依次类推),然后除以60取余数。
这个余数对应的干支就是日干支啦。
不过这里要注意哦,天干和地支要分开看余数对应的哦。
比如说余数是1,那对应的就是甲子日。
还有一种笨笨的但是很实在的办法呢。
就是找个万年历,然后从已知的干支日开始一天一天地数。
虽然有点麻烦,但是很保险呀。
就像我们走路,一步一个脚印,稳稳当当的。
要是想更深入地了解日干支计算,还得知道一些小窍门。
比如说平年和闰年的区别对计算也有影响的。
闰年的2月有29天,平年就只有28天。
这就像闰年是老天爷给我们的小惊喜,多了一天呢。
计算日干支就像是一场探秘之旅。
有时候算对了就特别有成就感,就像解开了一个神秘的小谜题。
虽然这个方法可能不是那么容易一下子就掌握得特别好,但是多试几次,就像跟干支交朋友一样,慢慢就熟悉起来啦。
而且呀,干支里面蕴含着很多传统文化的东西呢,了解它就像打开了一扇通往古老智慧的小窗户。
教你用手指掐算干支纪年
从事历史、文物工作的同志,特别是研究古书画的同志,经常要碰到干支纪年问題。
比如,乾隆“庚寅”年到底是乾隆几年呢?又比如,当你碰到任伯年的画上題上“壬午”年作时,那么任伯年在这一年是多大年纪呢?这时如果你手头没有一本年表,而又马上要答复这个问題,你一定会干着急。
现在让我们来介绍一下用指头掐算干支纪年的方法。
如果你能掌握,上面提出来的问题,就立即可以解決了。
用手指掐算干支,大概很早就有了,清代李汝珍所著的《镜花缘》第七十五回谈到古课问题,就是用手指来掐算的,他所说的“地盘式”排列的方位,就是我们要说的方法,只不过他是用来算课,而我们却是用来推年。
为了便于学习,我们在这里画了一个图,同时为了便于记住,我们作了四句打油诗,诗曰:天干变化无定位,地支分布列四边;天干顺推求个数,地支逆跳加十年。
天干就是甲、乙、丙、丁、戊、己、庚、辛,壬、癸,叫十个大干。
地支就是子、丑、寅、卯、辰.巳、午、未,申.酉、戌、亥,叫十二地支。
这十二个地支分列在左手上,它的地位是固定不变的。
所以诗的第二句说;“地支分布列四边”。
请你参看(图一)在开始学习时,你不妨用笔把它写在自己的手上,用拇指指点着这十二个地支的部位,要熟悉到指着每个邮位时,即能说出它是哪一个地支。
天干的地位则没有固定。
它是随着地支而变动的。
请參阅(图二)。
打一个比喻,它好象是一个能转的齿轮套在地支的外边、十个天干好象十个齿一样,看图中箭头,旋转的方向和钟表一样,假若现在说“甲子”,你就要把“甲”字指在“子”的部位上, (在无名指的下节)按照这个“齿轮’所列的天干次序,一字一字地和手上的地支配上,那就是。
甲子、乙丑、丙寅、丁卯……。
假如你说“甲寅”,你就要把“甲”字指到食指下节的“寅”字,好象这个齿轮往前移动了,这时天干地支的配合便变成了:甲寅、乙卯、丙辰、丁巳……。
由于天干不像地支一样,在指头没有固定的地位,而是跟着地支而变化的,所以诗的第一句叫“天干变化无定位。
干支计算法
例如:查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个闰年。
干支纪年、纪月、纪日和纪时简单计算方法
干支纪年、纪月、纪日和纪时简单计算方法干支纪年法如甲子为第一年,乙丑为第二年,丙寅为第三年……六十年为一周。
一周完了,再由甲子年起,周而始,循环下去。
例如1929年是农历己巳年,1930年是农历庚午年……到1989年又是农历己巳年。
我们在日历上看到的己巳年、庚午年,就是按干支纪年这种方法排列下来的。
阳历年份除以60的余数减3便得该年农历干支序号数,再查上面的干支便是干支年纪。
如果序号数小于、等于零则于支序号数加60。
例如,求1991年干支;1991÷60=33余11,年干支序号数=11-3=8。
查干支表知该年为辛未年。
又如求1983年干支:1983÷60=33余3,干支序号=3-3=0,加上60,查干支表知该年为癸亥。
干支纪月法干支纪月法未普遍实行,主要为星相家推算八字用。
其方法为:若遇甲或己的年份,正月是丙寅;遇上乙或庚之年,正月为戊寅;丙或辛之年正月为庚寅,丁或壬之年正为为壬寅,戊或癸之年正月为甲寅。
正月之干支知道了,其余月可按六十甲子的序推知。
干支纪日法甲炎了第一日,乙丑为第二日,丙寅为第三日……60日为一周。
一周完了再由甲子日起,周而复始,循环下去。
例如农历己巳年(1989年)正月初一是丁酉日,初二是戊戌日……到三月初七正好是60天,因此三月初二又是丁酉日。
干支纪时法一天中时辰的地支也是确定的,所以二十四小时配十二地支,由夜间十一点至一点为子时,一点至三点为丑时,其余照推。
时的天由该日所对天干推求,其歌戾如下:甲己还生甲,乙庚丙作初,丙辛从戊起,丁壬庚子居,戊癸何方发,壬子是真途。
即若该日是甲或己的,在子时上配上甲为甲子;日是乙或庚的,在子时上配上丙为丙子;丙辛日子时配上戊为戊子;丁任日为庚子;戊癸日为壬子。
知道了子时的干支,便可推知其余。
天干地支纪年法及其换算方法
我国古代是用天干地支来纪年的,现代社会已很少使用。
一来现今社会已经离不开国际化,沿用老的历法已经不现实;二来天干地支在民间多用于算命测字,带用浓重的迷信色彩,实在与科技现代社会格格不入。
但一个优秀的民族是不会抛弃她的历史和文化的。
历史事件、诗词、字画等中,又出现大量天干地支纪年法,对他的了解、熟悉还是很有必要的。
以下,让我们稍微了解一下:一.天干地支之由来天干地支简称为“干支”天干地支相当于树干和树叶。
它们是一个互相依存,互相配合的整体。
中国古代以天为“主”,以地为“从”。
“天”和“干”互联叫做“天干”;“地”和“支”互联叫做“地支”,合起来就是“天干地支”。
天干有十个字,总称为“十天干”。
地支有十二个字,总称为“十二地支”。
天干地支原始意义,有这样有趣的说法: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年为辛巳年。
干支纪年的表示方式
甲 乙 丙 丁 戊 已 庚 辛 壬 癸
4 5 6 7 8 9 10 1 2 3
子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥
4 5 6 7 8 9 10 11 12 1 2 3
如要将公元纪年换算成干支纪年,以公元年的尾数在天干中找出相对应。然后,将公元纪年除以12,用余数在地支中找出所对应的地支。这样,公元纪年就换算成了干支纪年。
如:公元1995年,用该年尾数5找出对应的天干为“乙”。然后,用1995除以12得余数为3。用余数3找出相对应的地支为“亥”。那么,公元1995年则为农历乙亥年。 再如:公元1861年,用尾数1查天干为“辛”,用1861除以12得余数为1,再用余数1查找地支为“酉”。那么,公元1861年则为农历辛酉年。 如果某一年的尾数为0或者用该年除以12的余数为0,则取天干中的第10位“庚”和地支中的第12位“申”。如:公元120年,尾数0则取天干中的“庚”;除以12余数为0,则取地支中的第12位“申”。那么,公元120年则为庚申年。 另外,如果公元纪年是单个数字,就用该数字在天干、地支中查找即可。如:公元6年,则在天干、地支中找出6相对应的“丙”和“寅”,那么该年则为丙寅年。公元8年则为戊辰年。公元11年,则取尾数1对应的天干中的“辛”和11对应的地支中的“未”。那么,该年则为辛未年。公元12年则为壬申年。
1.干和支的含义:干支是天干,地支的合称。
干指天干,共有10个符号:
甲 乙 丙 丁 戊 己 庚 辛 壬 癸
支指地支,共有12个符号:
子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥
2.干和支组合后用于纪年。即:将十天干和十二地支按顺序搭配组合成干支,用于纪年。按此排法,当天干10个符号排了六轮与地支12个符号排了五轮以后,可构成60干支。续排下去又将恢复原状,周而复始,即如民间所说“六十年转甲子”。
- 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
这道题目,有很多种解法,我这里就给出两种吧,一个是用位运算—?^ 可以先猜测一个数,比如1.5,然后用2除以这个数字。
如果我们猜对
了,则除法的结果必然与我们猜测的数字相同。
我们猜测的越准确,除法的结果与猜测的数字就越接近。