Faça o seguinte no menor número de bytes possível:
I'm Slim Shady. Yes, I'm the real Shady.
All you other Slim Shadys are just imitating.
So, won't the real Slim Shady please stand up?
Please stand up. Please stand up.
As cinco palavras a seguir devem aparecer EXATAMENTE UMA VEZ no seu código:
I'm
Slim
Shady
real
stand
Respostas:
Python: 176
Naturalmente, a mesma idéia que outras soluções de compressão (embora obtidas independentemente).
fonte
print"{0}{1}{2}. Yes, {0}{3}{2}.\nAll you other{1}{2}s are just imitating.\nSo, won't{3}{1}{2} p{4}?\nP{4}. P{4}.".format("I'm"," Slim"," Shady"," the real","lease stand up")
Brainfuck 1923 bytes
Desfrutar...
Orifícios de loop padrão
fonte
Perl, 155
Com melhorias de Martin Büttner e Thaylon :
fonte
Ruby, 154 bytes
Depois de ajudar algumas pessoas a dividir as strings de preenchimento, decidi tentar a idéia de retorno de chamada de substituição. ;)
fonte
#{h+a}
é menor que"+h+a+"
e#{d+h+a}
menor que"+d+h+a+"
.#{h}#{a}
.h=" Slim"+a=" Shady"
, e um substituindoputs
por$><<
..gsub(/\d/){%W{I'm \ Slim \ Shady \ the\ real lease\ stand\ up}[$&.hex]}
JavaScript (E6) 165
O mesmo em outro idioma
Explicação: substitua cada dígito único na primeira sequência pela sequência correspondente na matriz
["I'm"," Slim"," Shady","real","lease stand up"," the ",".\n"]
Revisado com as novas regras aqui no PPCG (saída retornada de uma função, sem restrições sobre os recursos mais recentes que o desafio), isso pode ser 158. Veja o trecho
fonte
replace
função e substituindo-o\n
por uma nova linha real.CJam - 133
Experimente em http://cjam.aditsu.net/
Eu acho que também funciona no GolfScript se você substituir
'|
por"|"
fonte
GolfScript,
162154152144 144 bytesTeste on-line
fonte
\n
en
por um avanço de linha real e escolhendo nomes de variáveis não alfanuméricos (por exemplo,&
) para eliminar o espaço em branco ao redor deles.VBA 307 bytes
E ofuscado com separadores de linha (apenas por diversão). Com base nesta resposta
Chamado da janela imediata com
?p
.O 307 inclui o
?p
.fonte
a = "."
que eu acho que você poderia raspar alguns bytesPHP - 151 bytes
hexdump:
Outra resposta sem usar o gzinflate (228 bytes):
Lê curtas (16 bits), extrai 3 inteiros de 5 bits como índices de uma tabela de pesquisa.
hexdump:
fonte
C, 374
Movendo a memória
Não é o mais curto, mas pode ficar mais rápido?
São 374 caracteres por muito tempo após a minificação.
fonte
char s[168]="I'm Slim Shady. Yes, the real.\nAll you others are just imitating.\nSo, won't the please stand up?\nP. ";m(d,f,p){memmove(s+p+f,s+p,strlen(s)-p+1);memcpy(s+p,s+d,f);}main(){m(0,4,21);m(8,6,33);m(3,11,54);m(28,5,100);m(3,11,105);m(118,14,135);m(134,16,151);puts(s);}
Java, 247
Meu primeiro código de golfe, enquanto aprendia Java. Publicou porque supera a outra entrada Java (totalmente funcional) e a entrada Haskell.
fonte
C #
209205201197209212217Agora com capitalização adequada e novas linhas
fonte
WriteLine("{0}{1}","I'm ","Slim ")
..Write()
vez de.WriteLine()
. Mesmo que seja necessário,.Write()
com a\n
é mais curto.VB
253249245241244285259223Eu odeio o encerramento da New Line
Agora com letras maiúsculas e novas linhas na saída e sem guias *
Obrigado VB por
vbCrLf
Obrigado, @ Taylor Taylor!
fonte
VBA 343 bytes
fonte
?
?PowerShell
194189164De alguma forma, minha resposta acabou parecendo muito com @ nneonneo , mesmo que não fosse minha intenção original ...
fonte
PHP -
196171;
fonte
Lua
201193188178Ungolfed & expandiu alguns
fonte
Lisp comum, 197
fonte
Perl, 161
164bytesNão é tão curto quanto a resposta de ossifrage melindrosa , mas eu queria compartilhar a CamelCaseCompression, que ninguém mais usou e permite a remoção de muitos espaços e aspas.
Porém, ele precisa de um texto um pouco mais longo para se tornar realmente benéfico.
Edit: Seguindo a sugestão de Thaylon, a
s/(\S)([A-Z])/\1 \L\2/g
substituição foi reduzida por quatro caracteres. No entanto, isso não ocorre nos dígrafos com capital de vírgula; portanto, um espaço extra teve que ser inserido antes do "não".fonte
PYTHON:
198193 bytesfonte
please
para a variável de retençãostand up
e se livrar de suag
variável, e, possivelmente, remover/n
você não precisa delesGolfscript - 140 (tweetable)
Eu sou Slim Shady. Sim, 3 o real 3.
Todos os outros 62 estão apenas imitando.
Então 533, por favor, não se levante?
P1 P1
fonte
Ferrugem (programa completo),
183180178173172 bytes178 -> 173 bytes, graças a Sara J
Experimente online!
fonte
C # 226
fonte
Java,
308301298292258Java é um pouco detalhado, mas aqui está a minha tentativa:
fonte
String
várias vezes. É por isso que eu tinha a matriz para todas, exceto uma variável. Muito obrigado pelas dicas.MySQL:
273267fonte
Ruby: 211
Este é impressionante, pois a simples impressão do texto é mais eficiente, mas é muito mais legal.
fonte
JavaScript
259240238 bytesNão é tão bom, mas pode muito bem postar uma resposta.
Versão mais legível:
fonte
F #,
250242Versão mais legível com quebras de linha:
fonte
JavaScript (ES6),
165163 bytesfonte
PHP, 179 bytes
E jogou golfe
fonte