Vì vậy, bây giờ là năm 2015 và một loạt các câu trả lời từ câu đố năm ngoái hiện đang bắt đầu tạo ra kết quả không hợp lệ , đã đến lúc cho một câu hỏi liên quan đến số 2015.
Ngoại trừ ... tại sao? Bạn có muốn nó không nếu câu trả lời dựa trên ngày của bạn cho vấn đề năm ngoái vẫn còn hiệu lực? Tại sao chúng ta không thay đổi lịch của mình để không bao giờ là năm 2015 và chúng ta chỉ đơn giản là tiếp tục sống trong năm 2014, mãi mãi?
Hãy xác định một ký hiệu ngày mới, được gọi là ký hiệu Vĩnh cửu 2014 , như sau:
- Đối với ngày 2014 và trước đó, ngày sẽ giống như trong lịch Gregorian proleptic .
- Cho những ngày trong những năm 2015 và trở đi, năm nay sẽ ở lại năm 2014, và tháng sẽ là số nó sẽ là nếu chu kỳ tháng cùng trong năm 2014 là tiếp tục mãi mãi tháng qua 12. Vì vậy,
2015-02-08
sẽ là2014-14-08
, và2020-12-31
sẽ là2014-85-02
. Lưu ý rằng ngày nhuận không được tính vì năm 2014 không phải là năm nhuận.
Nhiệm vụ của bạn là xây dựng một chương trình hoặc chức năng sẽ lấy ngày thiên văn học Julian làm đầu vào và trả về một chuỗi có ngày tương ứng với ngày Julian đó trong ký hiệu Eternal 2014, theo định dạng YYYY-MM-DD
hoặc DD/MM/YYYY
định dạng.
Bạn có thể cho rằng ngày Julian được nhập sẽ luôn là một số nguyên từ 1721426
(ngày 1 tháng 1, 1) đến 2914695
(ngày 23 tháng 1 năm 3268). Năm có thể chứa các số 0 đứng đầu đến 4 chữ số hoặc không, nhưng tháng và ngày phải luôn có các số 0 đầu để đệm thành hai chữ số (và năm có thể không chứa các số 0 đầu để đệm cho bất kỳ số nào ngoài 4 chữ số).
Dưới đây là một số ví dụ đầu vào và đầu ra của chúng, trong tất cả các định dạng có thể chấp nhận:
> 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
Bạn không được sử dụng bất kỳ thư viện xử lý ngày tích hợp nào trong ngôn ngữ của mình. Tất cả các tính toán phải được thực hiện bằng thuật toán trong chính mã nguồn của chương trình.
Chương trình ngắn nhất (tính bằng byte) để đạt được điều này trong bất kỳ ngôn ngữ nào sẽ thắng.