试题 历届真题 天干地支【第十一届】【决赛】【Python】
迪丽瓦拉
2025-05-30 10:22:20
0

一、试题来源:第十一届蓝桥杯——天干地支

资源限制
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s

【问题描述】
古代中国使用天干地支来记录当前的年份。
天干一共有十个,分别为:甲(ji)、 乙(yi)、 丙(bing)、丁(ding)、 戊(wu)、己(ji)、 庚(geng)、辛(xin)、 壬(ren)、 癸(gui)。
地支一共有十二个,分别为:子(zi)、 丑(chou)、寅(yin)、 卯(mao)、辰(chen)、巳(si)、 午(wu)、未(wei)、 申(shen)、 酉(you)、 戌(xu)、亥(hai)。 .
将天干和地支连起来,就组成了一个天干地支的年份,例如:甲子。
2020年是庚子年。
每过一年,天干和地支都会移动到下一个。 例如2021年是辛丑年。
每过60年,天干会循环6轮,地支会循环5轮,所以天干地支纪年每60
年轮回一次。例如1900年,1960 年,2020年都是庚子年。
给定一个公元纪年的年份,请输出这一年的天 干地支年份。

【输入格式】
输入一行包含一个正整数,表示公元年份。

【输出格式】
输出一个拼音,表示天干地支的年份,天干和地支都用小写拼音表示(不表示声调),之间不要加入任何多余的字符。

【样例输入】

2020

【样例输出】

gengzi

【评测用例规模与约定】
对于所有测评用例,1≤K≤100000,1≤|S|≤100000。其中 |S| 表示 S 长度。

二、解题

1、思路

如果不清楚天干纪年法,题目给出了样例和推演规则。
a. 2020年是庚子年。
b. 往后一年,天干和地支都往后移动一格。
因此,可以以2020年为基准,往前和往后推导。

2、代码

year = int(input())TianGan = ['jia','yi','bing','ding','wu','ji','geng','xin','ren','gui']
DiZhi = ['zi','chou','yin','mao','chen','si','wu','wei','shen','you','xu','hai']temp = year - 2020
if temp<0: # 2020以前的年份# 0是genshenindex1,index2 = 0,0# 以2020年为基准,其天干下标为6if ((-temp)%10)>6: # 如果余数>6,说明year的天干在6的右面(在减到0后从后面在往前推)index1 = 6 + 10 - abs(temp)%10 # 说明year的天干在6的后面,不然数组下标会小于0else: # year的天干在6的左边index1 = 6-abs(temp)%10# 以2020年为基准,其地支下标为0if (-temp)%12==0: # 如果刚好是12的周期,则将下标设为0index2 = 0else:index2 = 12-(-temp)%12print("{}{}".format(TianGan[index1],DiZhi[index2]))
else: # 2020年以后的年份print("{}{}".format(TianGan[(6+temp)%10],DiZhi[temp%12]))

三、总结

1、天干地支与年份的转换,可以说是常识;但还好这道也告诉了相应的规则。
2、拼音不要打错了,笔者就将chou写成了chuo导致只得了96分,因此做题还是要仔细。
3、关于天干地支与年份的转换,可以自行多了解。

相关内容

热门资讯

处理大数据的最佳方式——con... css属性处理大数据 content-visibility——只需一行CSS代码,让长...
Vuex由浅入深详细讲解 目录前言一,理解Vuex1.1 Vuex是什么1.2 Vuex概述1.3 Vuex统一...
Vector - CAPL -... 摸鱼聊天、答疑解惑首选之地 --- 车载网络哪些事儿你是否还在为VT板卡系统昂贵而发愁?...
qt5.6(mingw) 编译... 具体版本和操纵参考官网win msvc版本编译,Qt5.6编译PCL环境 备注...
【论文速览】引入motion ... 文章目录研究背景解决思路实验效果思考参考资料 收录于 ECCV 2020,代码地址...
字符串 - 二进制和文本字符串... 1.应用场景 主要用于探究字符串中的二进制和文本字符串,以及它们的区别和应用场景。2....
windows下使用gitea... windows下使用gitea搭建git服务器 详细过程 1、简述 使用过好几个git服务器...
LCHub:一句话让 AI 替... LCHub 3 月 18 日消息,这几天,GPT-4 接入微软 Office 全家桶的消息传遍了互联...
STM32模拟SPI控制NRF... STM32模拟SPI控制NRF24L01发送和接收 NRF24L01是一款2.4Ghz ISM频段无...
Vue路由及状态管理 1,Vue引入路由配置 在Vue中,我们可以通过vue-router路...
Lua 开发过程中常见坑 Lua 开发过程中常见坑 Lua next return _G.next( tb ) =&#...
蓝桥c++数位排序(运用pai... 问题描述 小蓝对一个数的数位之和很感兴趣, 今天他要按照数位之和给数排序。当 两个数各个数位之和不同...
3Dmax开孔打洞圆孔洞的几种... 最常见的几种打洞方法及技巧和注意事项总结如下。除了布尔运算外其余几种都是在可编辑多边形模式下进行的&...
04 - 进程参数编程 ---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接:(更新中&...
【Git使用学习】本地创建项目... 记录学习过程,一波三折。以【Vue+CesiumJS学习(1&#...
电子拣货标签1代系统简介 CK_Label_v1 ​一、产品参数 1. 电池供电版 产品型号 CK_Label_v1 尺...
为什么写分页器的时候要用当前页... 比方说总共有100条数据(编号从0起算就是0到99),每次...
古典密码学 主要划分方式及其分类按密钥方式划分:对称,非对称按明文处理方式分...
C# 项目名称为什么是xxx.... 在 C# 中,通常将项目命名为“xxx.xxx”的形式,其中第一个“xx...
【Java】UDP网络编程 文章目录前言DatagramSocketDatagramPacket注意事项与区别代码演示 前言 U...