试题 历届真题 天干地支【第十一届】【决赛】【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、关于天干地支与年份的转换,可以自行多了解。

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
A.机器学习入门算法(三):基... 机器学习算法(三):K近邻(k-nearest neigh...
数字温湿度传感器DHT11模块... 模块实例https://blog.csdn.net/qq_38393591/article/deta...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
Redis 所有支持的数据结构... Redis 是一种开源的基于键值对存储的 NoSQL 数据库,支持多种数据结构。以下是...
win下pytorch安装—c... 安装目录一、cuda安装1.1、cuda版本选择1.2、下载安装二、cudnn安装三、pytorch...
MySQL基础-多表查询 文章目录MySQL基础-多表查询一、案例及引入1、基础概念2、笛卡尔积的理解二、多表查询的分类1、等...
keil调试专题篇 调试的前提是需要连接调试器比如STLINK。 然后点击菜单或者快捷图标均可进入调试模式。 如果前面...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...
IHome主页 - 让你的浏览... 随着互联网的发展,人们越来越离不开浏览器了。每天上班、学习、娱乐,浏览器...
TCP 协议 一、TCP 协议概念 TCP即传输控制协议(Transmission Control ...
营业执照的经营范围有哪些 营业执照的经营范围有哪些 经营范围是指企业可以从事的生产经营与服务项目,是进行公司注册...
C++ 可变体(variant... 一、可变体(variant) 基础用法 Union的问题: 无法知道当前使用的类型是什...
血压计语音芯片,电子医疗设备声... 语音电子血压计是带有语音提示功能的电子血压计,测量前至测量结果全程语音播报࿰...
MySQL OCP888题解0... 文章目录1、原题1.1、英文原题1.2、答案2、题目解析2.1、题干解析2.2、选项解析3、知识点3...
【2023-Pytorch-检... (肆十二想说的一些话)Yolo这个系列我们已经更新了大概一年的时间,现在基本的流程也走走通了,包含数...
实战项目:保险行业用户分类 这里写目录标题1、项目介绍1.1 行业背景1.2 数据介绍2、代码实现导入数据探索数据处理列标签名异...
记录--我在前端干工地(thr... 这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前段时间接触了Th...
43 openEuler搭建A... 文章目录43 openEuler搭建Apache服务器-配置文件说明和管理模块43.1 配置文件说明...