Nun, da es 2015 ist und eine Reihe von Antworten aus dem letzten Jahr zu ungültigen Ergebnissen führen , ist es Zeit für eine Frage mit der Nummer 2015.
Außer ... warum? Würde es Ihnen nicht gefallen, wenn Ihre datumsbasierten Antworten auf das letztjährige Problem weiterhin gültig wären? Warum ändern wir unseren Kalender nicht so, dass es nie 2015 ist und wir einfach weiterhin für immer und ewig in 2014 leben?
Definieren wir eine neue Datumsnotation, die Ewige 2014-Notation , wie folgt:
- Für Daten von 2014 und früher gelten dieselben Daten wie im proleptischen gregorianischen Kalender .
- Die Termine in den Jahren 2015 und weiter, wird das Jahr bleiben 2014 und der Monat wird die Zahl es im Jahr 2014 , wenn die gleichen Monats - Zyklus wäre waren für immer vergangenen Monat 12. So fortsetzen
2015-02-08
würde2014-14-08
, und2020-12-31
wäre2014-85-02
. Beachten Sie, dass Schalttage nicht berücksichtigt werden, da 2014 kein Schaltjahr ist.
Ihre Aufgabe ist es, ein Programm oder eine Funktion zu erstellen, die ein julianisches astronomisches Datum als Eingabe verwendet und eine Zeichenfolge mit dem Datum zurückgibt, das diesem julianischen Datum in der Notation Eternal 2014 (entweder YYYY-MM-DD
oder im DD/MM/YYYY
Format) entspricht.
Sie können davon ausgehen, dass der eingegebene julianische Tag immer eine ganze Zahl von 1721426
(1. Januar, 1. Januar) bis 2914695
(23. Januar, 3268) einschließlich ist. Jahre können führende Nullen zum Auffüllen von 4 Ziffern enthalten oder nicht, Monate und Tage müssen jedoch immer führende Nullen zum Auffüllen von zwei Ziffern enthalten (und Jahre dürfen keine führenden Nullen zum Auffüllen einer anderen Anzahl von Ziffern als 4 enthalten).
Hier sind einige Beispieleingaben und ihre Ausgaben in allen akzeptablen Formaten:
> 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
Sie dürfen keine eingebauten Datumsverarbeitungsbibliotheken in Ihrer Sprache verwenden. Alle Berechnungen müssen algorithmisch im Quellcode des Programms selbst durchgeführt werden.
Das kürzeste Programm (in Bytes), um dies in einer Sprache zu erreichen, gewinnt.