2015 foi o ano da cabra! Neste desafio, você descobrirá qual animal representa o ano. Para evitar que esse desafio seja complexo, você não precisará calcular o ano novo chinês.
Por serem apenas 12 animais no Zodíaco, seu código precisará ser o mais curto possível.
Exemplos
Seu programa deve receber o ano do sistema , a primeira linha é apenas para referência
2015
Goat
1924
Rat
1923
Pig
2008
Rat
Especificação
A ordem do zodíaco é:
Rat, Ox, Tiger, Rabbit, Dragon, Snake, Horse, Goat, Monkey, Rooster, Dog, Pig
Rat
começa em 2008, Pig
2007, Ox
2009, etc. No final, isso volta ao normal.
A saída deve estar corretamente maiúscula.
code-golf
kolmogorov-complexity
date
Downgoat
fonte
fonte
Rat
?Respostas:
Pitão, 54 bytes
Experimente online: Demonstração
Você pode substituir os últimos 3 caracteres
.d3
por qualquer número de ano para testar os outros animais do Zodíaco.Explicação:
fonte
Pitão - 65 bytes
Experimente online aqui .
fonte
JavaScript ES6,
106105104103 bytesEconomizou 1 byte graças a Maltysen, 1 byte para insertusernamehere e 1 byte a edc65!
Bastante auto-explicativo.
fonte
btoa
parece ter 1,5x ou mais o comprimento da string codificada.0
como separador e usar esse regex para dividir a string:/(?=[A-Z])/
. Feliz Ano Novo. :)match(/.[a-z]+/g)
(valor acrescentado: split com a captura não é ES6, é um FireFox única característica) em vez de divisão (e 1 byte mais curto)CJam,
828075 bytesEsta é uma porta direta da minha resposta da Via Láctea .Economizou 7 bytes graças ao NinjaBearMonkey .
fonte
S
como uma variável para espaço."Monkey Rooster Dog Pig Rat Ox Tiger Rabbit Dragon Snake Horse Goat"S/et0==
Japt ,
7265 bytesExperimente online!
fonte
$[$Ð i -4 %12]
, você pode usarg(Ð i -4 %C
.MATL , 85 bytes
Usa a versão 6.0.0 do idioma / compilador. Trabalhos em oitava.
Exemplo
Explicação
Observe que a cadeia inicial é deslocada ciclicamente por 3 para evitar uma subtração.
fonte
Via Láctea 1.6.1 ,
10196 bytesGuardado 5 bytes graças a um lembrete de Luis Mendo .
Explicação
O código modula o ano do sistema em 12 e gera o animal adequado.
Uso
fonte
2008-
reorganizando a string como na minha resposta?CJam, 69 bytes
Contém vários não imprimíveis. Experimente aqui.
fonte
Python 3,
126116112 bytesEdit: Estou mantendo a outra resposta, porque é legal, mas isso é mais curto.
Se o espaço em branco à direita estiver ok, são 126 bytes. Caso contrário, são 134 bytes após adicionar
.strip()
ao final do código.fonte
R, 119 bytes
format(Sys.Date(),"%Y")
retorna o ano como uma sequência de caracteres,(format(Sys.Date(),"%Y"):1)[1]
é a maneira mais curta em que eu poderia coagi-lo a um número inteiro para que possamos aplicá%%
-lo (o gerador de sequência de:
fato obriga automaticamente a um número inteiro).+1
porque os índices R são baseados em 1 e não em 0.fonte
PHP> = 5,6, 84 bytes
Muito direto:
fonte
Python
129126 bytesEDIT : Acabei de aprender s.split ('') = s.split ()
Embora este não seja o método mais curto, aqui está uma resposta alternativa à do Sherlock9:
Experimente aqui
fonte
time
próximo.PowerShell, 92 bytes
De espírito semelhante a outras respostas, adicionadas aqui apenas para fins de catalogação. Isso pega a string
"Monkey ... Goat"
e-split
a coloca em espaços para criar uma matriz, mais barata do que especificar os elementos individualmente("Monkey","Rooster",...)
. Nós indexamos nessa matriz com oyear
mod atual12
, que gera o resultado. Nada muito chique.fonte
C # 159
Versão legível / não protegida
fonte
J , 78 bytes
Uso:
Explicação:
fonte