“甲、乙、丙、丁、戊、己、庚、辛、壬、癸”称为十天干,“子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥”称为十二地支。把干支顺序相配,正好60为一周期,周而复始,循环记录。这就是“干支纪年”。已知2023年癸卯年。编写程序,输入一个代表年份的整数,输出相应的天干和地支。
时间: 2024-10-10 20:03:46 浏览: 127
干支纪年法是一种古老的中国历法体系,它通过天干和地支组合来表示年份。根据这个规则,每个天干对应十年,每个地支对应十二个月。首先,我们需要确定给定年份在哪两个天干和地支之间。
2023年的天干计算是这样的:(年份 - 4) % 10 + 4,因为癸是最后一个天干,所以如果当前年份小于4,加4到天干列表的开始位置。2023年是大于4的,所以我们直接取余数并加上4得到天干,即(2023 - 4) % 10 = 2,加上4得天干为“己”。
地支的计算则是:(年份 mod 12),因为卯对应第四个地支,所以直接对年份取模12即可。2023 mod 12 = 9,对应的地支为“戌”,因为按照地支的顺序,戌接在卯之后。
下面是一个简单的Python函数示例,用于计算任意年份的天干地支:
```python
def get_ganzhi(year):
# 天干
ten_stems = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]
day_stem = (year - 4) % 10 + 4
# 地支
twelve_zodiacs = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
month_zodiac = year % 12
return ten_stems[day_stem - 1], twelve_zodiacs[month_zodiac]
# 测试2023年
year = 2023
ganzhi = get_ganzhi(year)
print(f"{year}年是{ganzhi[0]}{ganzhi[1]}年")
# 如果需要用户输入年份并获取结果
input_year = int(input("请输入年份:"))
ganzhi_result = get_ganzhi(input_year)
print(f"{input_year}年的天干地支是:{ganzhi_result[0]}{ganzhi_result[1]}")
阅读全文