首页 > 纪年
头像 FoolBlade
发表于 2026-05-14 00:14:22
以求天干为例,假如当前日期和2018年的时间差为 d, 那么就相当于在2018年的天干的基础上移动d的距离,然后把最终移动的结果映射到1~10即可;对于映射 x 到1~10的求法就是(x-1)%10+1 可以想象将原数轴向左平移一格,变成求映射到(0,9),计算取余后的结果,再向右平移回去 #inc 展开全文
头像 AliLexiWalker
发表于 2026-05-14 00:52:27
以2018年对应天干5、地支11为基准,先算偏移量d=n-2018,再分别对10和12取模(负数补回)即可得到目标年的天干与地支编号。 void solve(){ ll n; while(cin>>n){ ll d=n-2018; ll a 展开全文
头像 木门虫子
发表于 2026-05-15 22:03:57
#include <stdio.h> int main() { long long year; long long n=1000; int tian_bushu,di_bushu,tian,di; while(scanf("%lld" 展开全文
头像 Myaljk
发表于 2022-03-14 14:59:25
本题不需要考虑公元前的,我们只需要对应求公元后的方法即可。\\ 用年份除以十得到的余数再减三为天干的序数,用年份除以十二得到的余数再减三为地支序数,如1987年,得到的序数分别为4,4。所以该年为丁卯。只要知道这个公式这题就很简单了。 #pragma GCC optimize(2) #pragma 展开全文
头像 lotusor
发表于 2026-05-14 12:48:41
import sys input = lambda :sys.stdin.read().strip() check = list(map(int,input().split())) for n in check : l,r = 5,11 print(((n-2018+l)%10+9) 展开全文

等你来战

查看全部