2015 war das Jahr der Ziege! In dieser Herausforderung werden Sie herausfinden, welches Tier das Jahr darstellt. Um zu vermeiden, dass diese Herausforderung zu komplex wird, müssen Sie das chinesische Neujahr nicht berechnen.
Da es sich nur um 12 Tiere im Tierkreis handelt, muss Ihr Code so kurz wie möglich sein.
Beispiele
Ihr Programm muss das Systemjahr erhalten , die erste Zeile dient nur als Referenz
2015
Goat
1924
Rat
1923
Pig
2008
Rat
Spezifikation
Die Reihenfolge des Tierkreises ist:
Rat, Ox, Tiger, Rabbit, Dragon, Snake, Horse, Goat, Monkey, Rooster, Dog, Pig
Rat
beginnt bei 2008, Pig
ist 2007, Ox
bei 2009 usw. am Ende dreht sich dies wieder um.
Die Ausgabe muss korrekt aktiviert sein.
code-golf
kolmogorov-complexity
date
Downgoat
quelle
quelle
Rat
?Antworten:
Pyth, 54 Bytes
Probieren Sie es online aus: Demonstration
Sie können die letzten 3 Zeichen
.d3
durch eine beliebige Jahreszahl ersetzen , um die anderen Zodiac-Tiere zu testen.Erläuterung:
quelle
Pyth - 65 Bytes
Probieren Sie es hier online aus .
quelle
JavaScript ES6,
106105104103 Bytes1 Byte dank Maltysen gespeichert, 1 Byte zum Einfügen des Benutzernamens und 1 Byte zum Edc65!
Ziemlich selbsterklärend.
quelle
btoa
oder mehr der Länge der fest codierten Zeichenfolge zu entsprechen.0
als Trennzeichen und verwenden Sie diesen regulären Ausdruck, um die Zeichenfolge zu teilen :/(?=[A-Z])/
. Frohes neues Jahr. :)match(/.[a-z]+/g)
anstelle von split (Mehrwert: split mit Capture ist nicht ES6, ist nur eine FireFox-Funktion) (und 1 Byte kürzer)CJam,
828075 BytesDies war ein direkter Hafen meiner Antwort auf die Milchstraße .7 Bytes dank NinjaBearMonkey gespeichert .
quelle
S
als Variable für den Speicherplatz verwenden."Monkey Rooster Dog Pig Rat Ox Tiger Rabbit Dragon Snake Horse Goat"S/et0==
Japt ,
7265 BytesProbieren Sie es online aus!
quelle
$[$Ð i -4 %12]
verwendeng(Ð i -4 %C
.MATL , 85 Bytes
Verwendet Release 6.0.0 der Sprache / des Compilers. Funktioniert in der Oktave.
Beispiel
Erläuterung
Beachten Sie, dass die anfängliche Zeichenfolge zyklisch um 3 verschoben wird, um eine Subtraktion zu vermeiden.
quelle
Milchstraße 1.6.1 ,
10196 Bytes5 Bytes dank einer Erinnerung von Luis Mendo gespeichert .
Erläuterung
Der Code moduliert das Systemjahr um 12 und gibt das richtige Tier aus.
Verwendungszweck
quelle
2008-
indem Sie die Zeichenfolge wie in meiner Antwort neu anordnen?CJam, 69 Bytes
Enthält eine Reihe von nicht druckbaren Dateien. Probieren Sie es hier aus.
quelle
Python 3,
126116112 BytesBearbeiten: Ich behalte die andere Antwort, weil es cool ist, aber das ist kürzer.
Wenn nachfolgendes Leerzeichen in Ordnung ist, sind es 126 Bytes. Wenn nicht, sind es 134 Bytes nach dem Hinzufügen
.strip()
am Ende des Codes.quelle
R, 119 Bytes
format(Sys.Date(),"%Y")
Gibt das Jahr als Zeichenfolge zurück. Dies(format(Sys.Date(),"%Y"):1)[1]
ist der kürzeste Weg, den ich mir vorstellen kann, um es in eine Ganzzahl zu zwingen, damit wir es anwenden%%
können (der:
Sequenzgenerator zwingt tatsächlich automatisch zur Ganzzahl).+1
weil R-Indizes 1-basiert und nicht 0-basiert sind.quelle
PHP> = 5,6, 84 Bytes
Sehr einfach:
quelle
Python
129126 BytesEDIT : Ich habe gerade s.split ('') = s.split () gelernt
Obwohl dies nicht die kürzeste Methode ist, gibt es hier eine alternative Antwort auf die von @ Sherlock9:
Probieren Sie es hier aus
quelle
time
nächstes etwas ausprobieren .PowerShell, 92 Byte
Ähnlich wie bei anderen Antworten, die hier nur zur Katalogisierung hinzugefügt wurden. Dies nimmt die Zeichenfolge
"Monkey ... Goat"
und setzt-split
sie auf Leerzeichen, um ein Array zu erstellen, was billiger ist, als die Elemente einzeln mit anzugeben("Monkey","Rooster",...)
. Wir indizieren in dieses Array mit dem aktuellenyear
Mod12
, der das Ergebnis ausgibt. Nichts Besonderes.quelle
C # 159
Lesbare / ungolfed Version
quelle
J , 78 Bytes
Verwendungszweck:
Erläuterung:
quelle