首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
纪年
5条解析
开通博客写题解
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)
展开全文
查看本题
查看本题讨论
相关比赛
87-牛客小白月赛3
进入比赛
6017-牛客小白月赛3(重现赛)@PhantomSamurai
进入比赛
18874-三月算法马拉松
进入比赛
27637-牛客小白月赛
进入比赛
33908-省赛选拔赛女生赛
进入比赛
等你来战
查看全部
牛客小白月赛133
报名截止时间:2026-05-29 21:00
第二十三届宁波大学程序设计竞赛(同步赛)
报名截止时间:2026-05-30 17:30
牛客周赛 Round 146
报名截止时间:2026-05-31 21:00
牛客2026年儿童节比赛
报名截止时间:2026-06-01 21:00
牛客练习赛154
报名截止时间:2026-06-05 21:30
汤圆头 Round 1
报名截止时间:2026-07-06 22:00
2026牛客暑期多校训练营1
报名截止时间:2026-07-17 17:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题