Der Mel-Kalender wird in der fiktiven Welt von Kaldia verwendet. Ihr Ziel ist es, Daten in den Mel-Kalender umzuwandeln.
Dieser Kalender hat 13 Monate mit jeweils 28 Tagen plus 1 oder 2 zusätzliche Tage nach dem letzten Monat. Ein Jahr, das durch 4, aber nicht durch 100 oder durch 400 teilbar ist, hat 366 Tage, und andere Jahre haben 365 (dh unsere Schaltjahrregeln, aber mit Jahren im Mel-Kalender).
Sie sollten die Abkürzungen für Monats- und Tagesnamen verwenden :
Monate: dia vio lis gil ful dyu mel ral zan pal mik fav ruj
tage: dia vio lis gil ful dyu mel ral zan pal mik fav ruj ser rav tan lin rez jil din ket len lax nen pin mat kun mir
Der zusätzlichen Tage außerhalb eines jeden Monats hat die Monatsnamen von myuxet
(keine Abkürzung hier) und die Tag - Namen sind axet
und teems
jeweils.
0 dia dia
ist 1988/11/30.
Sie können das Eingabedatum als Zeichenfolge oder als Tupel (Jahr, Monat, Tag) verwenden. Alternativ kann der Parameter für Funktionen im Datumstyp Ihrer Standardbibliothek enthalten sein. Die Ausgabe sollte eine durch Leerzeichen getrennte Zeichenfolge sein.
Testfälle
1776-07-04 => -213 ral ket
1859-12-15 => -129 dia rav
1917-04-14 => -72 ful nen
1981-02-04 => -8 lis mik
1988-11-30 => 0 dia dia
1988-12-01 => 0 dia vio
1988-12-28 => 0 vio dia
2017-01-01 => 28 vio ful
2019-04-22 => 30 dyu lis
2019-11-30 => 30 myuxet axet
2019-12-01 => 31 dia dia
2021-11-29 => 32 myuxet axet
2021-11-30 => 32 myuxet teems
2089-11-30 => 101 dia dia
2389-11-30 => 400 myuxet teems
Sie sollten in der Lage sein, Daten von mindestens 1 n. Chr. Bis 9999 n. Chr. Zu verarbeiten.
Referenzimplementierung in Perl 6
Standardlücken sind verboten.
-213 Ral Ket
?
axet
undteems
am Ende des Jahres war ich verwirrt, bis ich den Link