题目描述
古代中国使用天干地支来记录当前的年份。
天干一共有十个,分别为:甲(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)。
将天干和地支连起来,就组成了一个天干地支的年份,例如:甲子。
2020 年是庚子年。
每过一年,天干和地支都会移动到下一个。例如 2021 年是辛丑年。
每过 60 年,天干会循环 6 轮,地支会循环 5 轮,所以天干地支纪年每 60 年轮回一次。例如 1900 年,1960 年,2020 年都是庚子年。
给定一个公元纪年的年份,请输出这一年的天干地支年份。
输入描述
输入一行包含一个正整数,表示公元年份。
其中有 ,输入的公元年份为不超过 9999 的正整数。
输出描述
输入一行包含一个正整数,表示公元年份。
输入输出样例
输入
2020
输出
gengzi
思路:
每过 60 年,天干会循环 6 轮,地支会循环 5 轮。60 / 6 = 10 60 / 5 = 12
所以天干每循环一轮需要 10 年,而地支每循环一轮需要 12 年。用所输入的年份分别对 10(天干),12(地支)分别取余可求得对应的天干地支。
由题中给出 2020 年为庚子年,用上述方法所测得的公历年份与实际公历年份相差4个索引位,因此在获得输入的年份时将其减四即可获得正确的公历年份!
参考代码:
import os
import sys
n=int(input())
a=['jia','yi','bing','ding','wu','ji','geng','xin','ren','gui']
b=['zi','chou','yin','mao','chen','si','wu','wei','shen','you','xu','hai']
d=n-4
a1 = d%10
b1 = d%12
print(a[a1] + b[b1])