2015 był rokiem kozła! W tym wyzwaniu dowiesz się, które zwierzę reprezentuje rok. Aby uniknąć skomplikowania tego wyzwania, nie musisz obliczać chińskiego nowego roku.
Ponieważ w Zodiaku jest tylko 12 zwierząt, Twój kod musi być jak najkrótszy.
Przykłady
Twój program musi mieć rok systemowy , pierwsza linia jest tylko w celach informacyjnych
2015
Goat
1924
Rat
1923
Pig
2008
Rat
Specyfikacja
Kolejność zodiaku jest następująca:
Rat, Ox, Tiger, Rabbit, Dragon, Snake, Horse, Goat, Monkey, Rooster, Dog, Pig
Rat
zaczyna się w 2008 r., Pig
jest 2007 r., Ox
w 2009 r. itd. na koniec pętle powracają.
Dane wyjściowe muszą być poprawnie wielkie litery.
code-golf
kolmogorov-complexity
date
Downgoat
źródło
źródło
Rat
?Odpowiedzi:
Pyth, 54 bajty
Wypróbuj online: demonstracja
Możesz zastąpić ostatnie 3 znaki
.d3
dowolnym numerem roku, aby przetestować inne zwierzęta zodiaku.Wyjaśnienie:
źródło
Pyth - 65 bajtów
Wypróbuj online tutaj .
źródło
JavaScript ES6,
106105104103 bajtówZapisano 1 bajt dzięki Maltysen, 1 bajt na inserttusernamehere i 1 bajt na edc65!
Dość oczywiste.
źródło
btoa
wygląda na 1,5 lub więcej długości zakodowanego ciągu.0
jako separator i używać tego wyrażenia regularnego, aby podzielić ciąg:/(?=[A-Z])/
. Szczęśliwego Nowego Roku. :)match(/.[a-z]+/g)
zamiast podziału (wartość dodana: podział z przechwytywaniem nie jest ES6, jest tylko funkcją FireFox) (i 1 bajt krótszy)CJam,
828075 bajtówTo był bezpośredni port mojej odpowiedzi Drogi Mlecznej .Zaoszczędzono 7 bajtów dzięki NinjaBearMonkey .
źródło
S
jako zmiennej dla przestrzeni."Monkey Rooster Dog Pig Rat Ox Tiger Rabbit Dragon Snake Horse Goat"S/et0==
Japt ,
7265 bajtówWypróbuj online!
źródło
$[$Ð i -4 %12]
, możesz użyćg(Ð i -4 %C
.MATL , 85 bajtów
Korzysta z wersji 6.0.0 języka / kompilatora. Działa w Octave.
Przykład
Wyjaśnienie
Zauważ, że początkowy ciąg jest cyklicznie przesuwany o 3, aby uniknąć odejmowania.
źródło
Droga Mleczna 1.6.1 ,
10196 bajtówZaoszczędzono 5 bajtów dzięki przypomnieniu Luisa Mendo .
Wyjaśnienie
Kod moduluje rok systemowy o 12 i podaje odpowiednie zwierzę.
Stosowanie
źródło
2008-
, zmieniając układ tak jak w mojej odpowiedzi?CJam, 69 bajtów
Zawiera kilka niezadrukowanych elementów. Wypróbuj tutaj.
źródło
Python 3,
126116112 bajtówEdytuj: Trzymam drugą odpowiedź, ponieważ jest fajna, ale jest krótsza.
Jeśli końcowe białe znaki są prawidłowe, to ma 126 bajtów. Jeśli nie, to 134 bajty po dodaniu
.strip()
na końcu kodu.źródło
R 119 bajtów
format(Sys.Date(),"%Y")
zwraca rok jako ciąg znaków,(format(Sys.Date(),"%Y"):1)[1]
jest to najkrótszy sposób, w jaki mogłem wymusić przekształcenie go w liczbę całkowitą, abyśmy mogli się%%
do niego zastosować (generator sekwencji:
rzeczywiście automatycznie wymusza na liczbę całkowitą).+1
ponieważ indeksy R są oparte na 1, a nie na 0.źródło
PHP> = 5,6, 84 bajtów
Bardzo prosto:
źródło
Python
129126 bajtówEDYCJA : Właśnie nauczyłem się s.split ('') = s.split ()
Chociaż nie jest to najkrótsza metoda, oto alternatywa dla @ Sherlock9:
Wypróbuj tutaj
źródło
time
następnym.PowerShell, 92 bajty
Podobny duchem do innych odpowiedzi, dodanych tutaj tylko w celu katalogowania. Pobiera to ciąg znaków
"Monkey ... Goat"
i-split
spacje, aby utworzyć tablicę, co jest tańsze niż indywidualne określanie elementów("Monkey","Rooster",...)
. Indeksujemy do tej tablicy za pomocą bieżącegoyear
modu12
, który generuje wynik. Nic nadzwyczajnego.źródło
C # 159
Wersja do odczytu / bez golfa
źródło
J , 78 bajtów
Stosowanie:
Wyjaśnienie:
źródło