Herausforderung
Geben Sie an jedem der 12 Weihnachtstage den entsprechenden Vers "12 Weihnachtstage" entsprechend dem Datum aus, andernfalls den Refrain "Ich wünschte, es könnte Weihnachten sein, jeden Tag".
Führende und / oder nachfolgende Zeilenumbrüche ( \n
) und nachfolgende Leerzeichen sind zulässig. Sie dürfen nicht aus externen Quellen lesen.
Grundsätzlich müssen Sie das Systemdatum auslesen und den entsprechenden Vers der "12 Tage Weihnachten" ausgeben.
12 Weihnachtstage
Die zwölf Weihnachtstage sind die festliche christliche Jahreszeit, die am Weihnachtstag (25. Dezember) beginnt und am 5. Januar endet.
Beispiele
Wenn das Datum der 25. Dezember ist (drucken Sie den kürzesten / ersten Vers aus):
On the first day of Christmas
my true love sent to me:
a Partridge in a Pear Tree
Wenn das Datum der 31. Dezember ist (drucken Sie den siebten Vers):
On the seventh day of Christmas
my true love sent to me:
7 Swans a Swimming
6 Geese a Laying
5 Golden Rings
4 Calling Birds
3 French Hens
2 Turtle Doves
and a Partridge in a Pear Tree
Wenn das Datum der 5. Januar ist (drucken Sie den längsten / letzten / 12. Vers aus):
On the twelth day of Christmas
my true love sent to me:
12 Drummers Drumming
11 Pipers Piping
10 Lords a Leaping
9 Ladies Dancing
8 Maids a Milking
7 Swans a Swimming
6 Geese a Laying
5 Golden Rings
4 Calling Birds
3 French Hens
2 Turtle Doves
and a Partridge in a Pear Tree
Wenn das Datum nicht im Bereich vom 25. Dezember bis einschließlich 5. Januar liegt:
Well I wish it could be Christmas every day
When the kids start singing and the band begins to play
Oh I wish it could be Christmas every day
So let the bells ring out for Christmas
Frohe Weihnachten!
quelle
Antworten:
CJam,
557550530528522519 BytesTeste es hier. Ersetzen Sie, um andere Daten auszuprobieren
et3<(;
durch etwas wie[12 25]
.Es gibt wahrscheinlich noch Raum für Verbesserungen.
quelle
5 Golden R(ing)
inakzeptabel? Verdammt! Gibt es eine Möglichkeit, die-ing
Endung und die-s
Endung auf die Zahl 5 anzuwenden ?Python 2,
681676673670667 BytesIch habe versucht, gegen CJam anzutreten ... und bin wie erwartet gescheitert. Vielleicht, wenn ich herausfinden könnte, wie man zlib, aber ich weiß nicht ...
(Danke an @FryAmTheEggman für die Vorschläge via Chat)
quelle
Es ist groß! Es ist gemein! Es ist hässlich! Es ist...
Java:
894 887 883882 BytesGolf gespielt:
Ungolfed:
Nachdem ich viel damit herumgespielt und 14 Bytes gewonnen habe, werde ich wohl aufhören, damit herumzuspielen.
Und ja, ich weiß, dass meine Idee in Schaltjahren vielleicht ein kleines Problem hat, aber ... es war meine Art, ein paar Bytes vom Code abzuschneiden. Naja.
quelle
<!-- language: lang-java -->
vor einem Codeblock. Verwenden Sie<!-- language-all: lang-java -->
für alle Codeblöcke in Ihrem Dokument. Weitere Informationen finden Sie unter codegolf.stackexchange.com/editing-helpErlang, 748 Bytes
Eine 7-Bit-Clean-Version ohne gzip-9 hat 748 Bytes:
Eine gzip-9 + base64-Lösung ist 750 Byte lang:
Eine UTF-8-codierte Erlang-Funktion besteht aus 421 Zeichen (935 Byte).
quelle
Javascript (665)
Sie können es testen, indem Sie Klammern zur ersten
new Date
Änderung hinzufügen :zu
Hier ist es verschönert:
quelle
C # In Linqpad - 866 Bytes
Naja, zumindest hat es Java geschlagen;) Schaltjahre werden im Code behandelt.
Unformatiert:
Formatiert:
quelle
int y=w.Year%4
. Wenn das Moduloy
0 ist, füge ichc
mit Hilfe von eins hinzup
.