没有合适的资源?快使用搜索试试~ 我知道了~
首页 2020 CSP-S2 提高级第二轮试题( 原noip提高组复赛)
2020 年 CCF 非专业级软件能力认证 提高级第二轮 为了简便计算,天文学家们使用儒略日(Julian day)来表达时间。所谓儒 略日,其定义为从公元前 4713 年 1 月 1 日正午 12 点到此后某一时刻间所经过 的天数,不满一天者用小数表达。若利用这一天文学历法,则每一个时刻都将 被均匀的映射到数轴上,从而得以很方便的计算它们的差值。 现在,给定一个不含小数部分的儒略日,请你帮忙计算出该儒略日(一定 是某一天的中午 12 点)所对应的公历日期。 我们现行的公历为格里高利历(Gregorian calendar),它是在公元 1582 年 由教皇格里 2020 CCF CSP-S2
资源详情
资源评论
资源推荐

2020 年 CCF 非专业级软件能力认证
提高级第二轮
2020 CCF CSP-S2
时间:2020 年 11 月 7 日 14:30 18:30
题目名称
儒略日
动物园
函数调用
贪吃蛇
题目类型
传统型
传统型
传统型
传统型
目录
julian
zoo
call
snakes
可执行文件名
julian
zoo
call
snakes
输入文件名
julian.in
zoo.in
call.in
snakes.in
输出文件名
julian.out
zoo.out
call.out
snakes.out
时间限制
1.0 秒
1.0 秒
2.0 秒
2.0 秒
内存限制
256 MB
256 MB
256 MB
256 MB
测试点数目
10
20
20
20
提交源程序文件名
C++ 语言
julian.cpp
zoo.cpp
call.cpp
snakes.cpp
C 语言
julian.c
zoo.c
call.c
snakes.c
Pascal 语言
julian.pas
zoo.pas
call.pas
snakes.pas
编译选项
C++ 语言
-lm
C 语言
-lm
Pascal 语言
注意事项(请选手仔细阅读)
1. 文件名(程序名和输入输出文件名)必须使用英文小写。
2. C/C++ 中函数 main() 的返回值类型必须是 int,程序正常结束时的返回值
必须是 0。
3. 提交的程序代码文件的放置位置请参照各省的具体要求。
4. 因违反以上三点而出现的错误或问题,申诉时一律不予受理。
5. 若无特殊说明,结果的比较方式为全文比较(过滤行末空格及文末回车)。
6. 程序可使用的栈内存空间限制与题目的内存限制一致。
7. 全国统一评测时采用的机器配置为:Intel(R) Core(TM) i7-8700K CPU @
3.70GHz,内存 32GB。上述时限以此配置为准。
8. 只提供 Linux 格式附加样例文件。
9. 评测在当前最新公布的 NOI Linux 下进行,各语言的编译器版本以其为准。

2020 年 CCF 非专业级软件能力认证提高级第二轮
儒略日(julian)
【题目描述】
为了简便计算,天文学家们使用儒略日(Julian day)来表达时间。所谓儒
略日,其定义为从公元前 4713 年 1 月 1 日正午 12 点到此后某一时刻间所经过
的天数,不满一天者用小数表达。若利用这一天文学历法,则每一个时刻都将
被均匀的映射到数轴上,从而得以很方便的计算它们的差值。
现在,给定一个不含小数部分的儒略日,请你帮忙计算出该儒略日(一定
是某一天的中午 12 点)所对应的公历日期。
我们现行的公历为格里高利历(Gregorian calendar),它是在公元 1582 年
由教皇格里高利十三世在原有的儒略历(Julian calendar)的基础上修改得到
的(注:儒略历与儒略日并无直接关系)。具体而言,现行的公历日期按照以下
规则计算:
1. 公元 1582 年 10 月 15 日(含)以后:适用格里高利历,每年一月 31 天、
二月 28 天或 29 天、三月 31 天、四月 30 天、五月 31 天、六月 30 天、七
月 31 天、八月 31 天、九月 30 天、十月 31 天、十一月 30 天、十二月 31
天。其中,闰年的二月为 29 天,平年为 28 天。当年份是 400 的倍数,或
日期年份是 4 的倍数但不是 100 的倍数时,该年为闰年。
2. 公元 1582 年 10 月 5 日(含)至 10 月 14 日(含):不存在,这些日期被
删除,该年 10 月 4 日之后为 10 月 15 日。
3. 公元 1582 年 10 月 4 日(含)以前:适用儒略历,每月天数与格里高利历
相同,但只要年份是 4 的倍数就是闰年。
4. 尽管儒略历于公元前 45 年才开始实行,且初期经过若干次调整,但今天人
类习惯于按照儒略历最终的规则反推一切 1582 年 10 月 4 日之前的时间。
注意,公元零年并不存在,即公元前 1 年的下一年是公元 1 年。因此公元
前 1 年、前 5 年、前 9 年、前 13 年……以此类推的年份应视为闰年。
【输入格式】
输入文件名为 julian.in。
第一行一个整数 ,表示询问的组数。
接下来 行,每行一个非负整数
,表示一个儒略日。
【输出格式】
输出文件名为 julian.out。
对于每一个儒略日
,输出一行表示日期的字符串
。共计 行。
的格式如下:
1. 若年份为公元后,输出格式为 Day Month Year。其中日(Day)、月
(Month)、年(Year)均不含前导零,中间用一个空格隔开。例如:公元
2020 年 11 月 7 日正午 12 点,输出为 7 11 2020。

2020 年 CCF 非专业级软件能力认证提高级第二轮
2. 若年份为公元前,输出格式为 Day Month Year BC。其中年(Year)输出该
年份的数值,其余与公元后相同。例如:公元前 841 年 2 月 1 日正午 12
点,输出为 1 2 841 BC。
【样例 1 输入】
3
10
100
1000
【样例 1 输出】
11 1 4713 BC
10 4 4713 BC
27 9 4711 BC
【样例 2 输入】
3
2000000
3000000
4000000
【样例 2 输出】
14 9 763
15 8 3501
12 7 6239
【样例 3】
见选手目录下的 julian/julian3.in 与 julian/julian3.ans。
【数据范围与提示】
测试点编号
1
2
3
剩余10页未读,继续阅读














安全验证
文档复制为VIP权益,开通VIP直接复制

评论0