因此,现在是2015年,去年难题中的许多答案 现在开始产生无效的输出,是时候来讨论涉及数字2015的问题了。
除了...为什么?如果您对上一年问题的基于日期的答案仍然有效,您是否不喜欢它?我们为什么不更改日历以使其永远不会是 2015年,而我们只是继续生活到2014年,直到永远?
让我们定义一个新的日期符号,称为Eternal 2014符号,如下所示:
- 对于2014年及之前的日期,该日期将与多长时间公历中的日期相同。
- 这是多年来2015年及以后的日期,今年将保持到2014年,该月将是这将是,如果在2014年同月周期要继续永远过去一个月12.所以数量
2015-02-08
会2014-14-08
,并且2020-12-31
会2014-85-02
。请注意,由于2014年不是a年,因此不考虑leap日。
您的任务是构建一个程序或函数,该程序或函数将以朱利安天文数据作为输入,并以Eternal 2014表示法以YYYY-MM-DD
或DD/MM/YYYY
格式返回一个字符串,该字符串的日期与该朱利安日期相对应。
您可能会假设输入的儒略日始终是1721426
(1月1日,1日)至2914695
(3268年1月23日,包括)的整数。年份可能包含前导零以填充至4位数字,但月和日必须始终具有前导零以填充至两位数(并且年份可能不包含前导零以填充至除4之外的任何数字)。
以下是所有可接受格式的一些示例输入及其输出:
> 1721426
1-01-01
01/01/1
0001-01-01
01/01/0001
> 2086302
999-12-31
31/12/999
0999-12-31
31/12/0999
> 2456659
2014-01-01
01/01/2014
> 2456789
2014-05-11
11/05/2014
> 2457024
2014-13-01
01/13/2014
> 2457389
2014-25-01
01/25/2014
> 2469134
2014-411-07
07/411/2014
> 2567890
2014-3657-29
29/3657/2014
> 2914695
2014-15059-23
23/15059/2014
您不得使用您的语言使用任何内置的日期处理库。所有计算必须在程序的源代码本身中以算法方式进行。
以任何语言实现此目标的最短程序(以字节为单位)将获胜。