代码编织梦想

天干地支

题目描述
古代中国使用天干地支来记录当前的年份。
天干一共有十个,分别为:甲(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

思路分析
遇到这种题不要慌,想都不用想首先要做的就是把天干地支用数组保存起来,这个题既可以套公式也可以暴力枚举,我这里是枚举🤣,不要问为什么,问就是我太暴力了!
我们只需要用脚指头想一想,用计算器算一算,就可以把公园1年的天干地支年份推算出是(辛酉)年,用变量保存(辛酉)在数组中的下标,在这里下标分别是 7和9 再然后for循环推算就行了,详情见代码及注释

import java.util.Scanner;

public class 天干地支 {
	//天干地支
	static String[]tg= {"jia","yi","bing","ding","wu","ji","geng","xin","ren","gui"};
	static String[]dz= {"zi","chou","yin","mao","chen","si","wu","wei","shen","you","xu","hai"};
	static int itg=7;//辛所在数组中的下标
	static int idz=9;//酉所在数组中的下标
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		//for推算 每过1年下标++
		for (int i =1; i <n; i++) {
			itg++;
			idz++;
			//天干下标等于10时越界,下标重置为0
			if(itg==10)
				itg=0;
			//地址下标等于12时越界,下标重置为0
			if(idz==12)
				idz=0;
		}
		//最后按照下标输出即可
		System.out.println(tg[itg]+dz[idz]);
	}
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45748438/article/details/117387519

蓝桥杯 干支纪年 坐标计算-爱代码爱编程

    在我国古代和近代,一直采用干支法纪年。它采用10天干和12地支配合,一个循环周期为60年。     10天干是:甲,乙,丙,丁,戊,己,庚,辛,壬,癸     12地支是:子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥     如果某年是甲子,下一年就是乙丑,再下是丙寅,......癸酉,甲戌,乙亥,丙子,....     总之天干

干支纪年-爱代码爱编程

    在我国古代和近代,一直采用干支法纪年。它采用10天干和12地支配合,一个循环周期为60年。     10天干是:甲,乙,丙,丁,戊,己,庚,辛,壬,癸     12地支是:子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥     如果某年是甲子,下一年就是乙丑,再下是丙寅,......癸酉,甲戌,乙亥,丙子,....

2019第十届蓝桥杯java省赛b组(参赛总结+部分题目个人做法)-爱代码爱编程

参赛总结 这次的蓝桥杯感觉比去年的简单,but!!坑还是一样的多 -_-! ,做了7题,结果四题填空只对了第二题QAQ, 还好大题补了一下分混了个省三 - -,总结以下: ①注意审题,有的题目找到规律就很简单 ②看题仔细,

2020年蓝桥杯C/C++ 大学C组 国赛试题-爱代码爱编程

自己平时还练少了,做了3个题目直接凉凉。。。第3个题目,好像还没有判断下标是否越界,彻底凉凉。 试题A:美丽的2 目录 试题A:美丽的2 试题B:合数个数 试题C:扩散 试题 D: 阶乘约数 试题 E: 本质上升序列 试题F:天干地支 试题G:重复字符串 试题H:皮亚诺曲线距离 试题I:补给 试题J:答疑 本题总分: 目录 试

蓝桥python——天干地支-爱代码爱编程

试题 F: 天干地支 时间限制: 1.0s 内存限制: 512.0MB 本题总分:15 分 【问题描述】 古代中国使用天干地支来记录当前的年份。 天干一共有十个,分别为:甲(jiǎ)、乙(yǐ)、丙(bǐng)、丁(dīng)、戊(wù)、己(jǐ)、庚(gēng)、辛(xīn)、壬(rén)、癸(guǐ)。 地支一共有十二个,分别为:子(zǐ)、丑(c

第十一届蓝桥杯 2020年国赛真题 (Java 大学C组)-爱代码爱编程

蓝桥杯 2020年国赛真题(Java 大学 C 组 ) #A 美丽的 2#B 合数个数#C 扩散#D 阶乘约数#E 本质上升序列#F 天干地支#G 皮亚诺曲线距离#H 蓝肽子序列#I 画廊#J 答疑 国赛现场失误还是挺多的,就个人准备程度而言除了皮亚诺不敢分配时间去推导,其他的题都可以K掉,结果却是应该只K了六七题,还好今年没特等,不然自己

java 本年第一个月_JAVA获取本周 本月 本年 第一天和最后一天-爱代码爱编程

JAVA获取本周 本月 本年 第一天和最后一天 /** * 日期工具类 */ public class DateUtils { /** * 获取今天 * @return String * */ public static String getToday(){ return new SimpleDateFormat("yyyy-MM-

天干地支 java_Java实现干支纪年法-爱代码爱编程

public class 干支纪年法 { // 甲、乙、丙、丁、戊、己、庚、辛、壬、癸 //public static final int[] skyBranch = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; // 子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥 //public static fi

2021第十二届蓝桥杯第一场省赛JAVA B组真题解析(带源码及解析)-爱代码爱编程

蓝桥杯历年真题及解析. 目录: 蓝桥杯历年真题及解析.A:ASC(难度:★)题目:分析:代码:B:卡片(难度:★★)题目:分析:代码:C:直线(难度:★★★)题目:分析:代码:D:货物摆放(难度:★★)题目:分析:代码:E:路径(难度:★★★★)题目:分析:代码:F:时间显示(难度:★)题目:分析:代码:G:最少砝码(难度:★★★)题目:分析:代

2021年第十二届蓝桥杯javaA组省赛-爱代码爱编程

文章目录 试题 A: 相乘试题 B: 直线试题 C: 货物摆放试题 D: 路径试题 E: 回路计数试题 F: 最少砝码试题 G: 左孩子右兄弟试题 H: 异或数列试题 I: 双向排序试题 J: 分果果 以下均为个人想法和解题思路,如有错误或不足,欢迎指正。 试题 A: 相乘 本题总分:5 分 【问题描述】小蓝发现,他将 1 至

2020第十一届蓝桥杯-决赛-Java大学-C组-爱代码爱编程

试题 A: 美丽的 2 本题总分:5 分 【问题描述】 小蓝特别喜欢 2,今年是公元 2020 年,他特别高兴。 他很好奇,在公元 1 年到公元 2020 年(包含)中,有多少个年份的数位中 包含数字 2? 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 p