El verdadero Slim Shady


43

Echo lo siguiente en la menor cantidad de bytes posible:

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.

Las siguientes cinco palabras deben aparecer EXACTAMENTE UNA VEZ en su código:

I'm
Slim
Shady
real
stand


32
Ahora esa estúpida canción está en mi cabeza.
Darth Egregious

¿Está bien si el programa genera más que el texto completo? Es decir. encerrando la letra en parens.
Sylwester

@Sylwester Siempre que siga las reglas, puede codificarlo como desee.
rybo111

¿Es esto realmente kolmogorov-complejidad ? Es cierto que cualquier programa que tenga la salida correcta limita la complejidad de Kolmogorov anterior, pero la restricción adicional parece forzar un programa no óptimo.
Peter Taylor

@PeterTaylor puede que tengas razón: dejaré que la comunidad lo edite o no.
rybo111

Respuestas:


28

Python: 176

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")

Naturalmente, la misma idea que otras soluciones de compresión (aunque obtenidas independientemente).


1
Por error, rechacé este. Lo siento. (Si realiza algún cambio, creo que puedo eliminar el
voto negativo

@ edc65: Gracias por la honestidad :) Edité la respuesta.
nneonneo

Puede recortar 3 bytes simplemente reutilizando los espacios. 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")
Feersum

25

Brainfuck 1923 bytes

Disfrutar...

-[------->+<]>.+[-->+<]>++.---[->+++<]>+.
[->+++++<]>-.>-[--->+<]>--.--[--->++++<]
>.---.++++.[->+++++<]>-.>-[--->+<]>--.>+
[----->+++<]>+.-------.+++.+[--->+<]>++.
-----[++>---<]>.++[--->++<]>.--[->+++<]>-.
[->++++<]>+.[--->+<]>----.-[++>---<]>+.
------------.++++[->++<]>+.+[-->+<]>++.---
[->+++<]>+.[->+++++<]>-.---[->++++<]
>.------------.---.--[--->+<]>-.---[----->++<]
>.-------------.----.+++++++++++.[++>---<]
>--.>-[--->+<]>--.>+[----->+++<]>+.-------.
+++.+[--->+<]>++.-----[++>---<]>.>
++++++++++.+++[->+++++<]>.[--->+<]>+..
[++>---<]>--.--[->++++<]>+.----------.++++++.-
[---->+<]>+++.+++++[->+++<]
>.+++++.------------.---.+++++++++++++.
[-->+++++<]>+++.>-[--->+<]>--.--
[--->++++<]>.---.++++.[->+++++<]>-.>-
[--->+I'm<]>--.>+[----->+++<]>+.-------.+++.+
[--->+<]>++.------.+[---->+<]>+++.[->+++<]>+.--
[--->+<]>---.-------------.--[--->+<]>-.-
[--->++<]>.+++++++++++.--.+.
[---Slim->+<]>+++.-[--->++<]>-.++++.----.
+++++++++++.+[->+++<]>++.--[--->+<]
>-.-----------.+++++.-------.--[->+++<]>-.
>++++++++++.>-[--->+<]>--.[--->+<]>--.
[->+++++<]>+.------------.--[->++++<]>-.
--------.-.[++>---<]>++.[->+++<]>-.[---->+
<]>+++.---[->++++<]>.------------.---.--[---
>+<]>-.---[----->Shady++<]>.-------------.-
---.+++++++++++.[++>---<]>--.>-[--->+<]
>--.--[--->++++<]>.---.++++.[->+++++<]
>-.>-[--->+<]>--.>+[----->+++<]>+.-------.
+++.+[--->+<]>++.-[---->+<]>++.[-->+++++++<]
>.----.-------.----.--[--->+<]>--.++++[->+++<]
>.--[--->+<]>-.---[->++++<]>-.+.+[->+++<]
>++.+++++++++++++.----------.-[--->+<]
>-.---[->++++<]>+.-----.[--->++++<]>-.>
++++++++++.[->++++++++<]>.+[--->++++<]
>.---real----.----.--[--->+<]>--.++++[->+++<]
>.--[--->+<]>-.---[->++++<]>-.+.+[->+++<]
>++.+++++++++++++.----------.-[--->+<]>-.---
[->++++<]>+.-----.[->+++++<]>--.++[--->++<]
>.[-->stand+++++<]>.+[--->++++<]>
.-------.----.--[--->+<]>--.++++[->+++<]
>.--[--->+<]>-.---[->++++<]>-.+.+[->+++<]
>++.+++++++++++++.----------.-[--->+<]
>-.---[->++++<]>+.-----.[->+++++<]>--.

Agujeros de bucle estándar


No incluye las cinco palabras.
nwp

66
Tal vez desplácese hacia la derecha, sin embargo,
editaré

Me desplacé pero de alguna manera perdí las palabras, lo siento.
nwp

¡Ahora está claro!
edc65

1
Se me ocurrieron 1918 caracteres, no sé si alguno de estos caracteres está fuera de la norma donde agregarían bytes adicionales. Todavía no conozco otra forma de contar Bytes, así que diría 1918
Malaquías

17

Perl, 155

Con mejoras de Martin Büttner y Thaylon :

$_="01. Yes, 02X.
All you other1s are just imitating.
So, won't21 p3?
P3. P3.";s/\d/("I'm"," SlimX"," the real","lease stand up")[$&]/ge;s/X/ Shady/g;print

@ MartinBüttner Excelentes sugerencias. Gracias :-)
aprensivo ossifrage

Puedes omitir el último; también.
Thaylon

2
Me encanta el "todo lo demás 1s" parte
William Barbosa

Cambiando alrededor del "" para 157: $ _ = "01. Sí, 032. Todos los demás1s simplemente están imitando. Entonces, ¿no será 31 p4? P4. P4."; S / 0 / I'm / g; s / 1 / Slim2 / g; s / 2 / Shady / g; s / 3 / the real / g; s / 4 / lease stand up / g; print
Thaylon

Minas tan similares ahora, y yo fui más tarde, así que lo eliminaré. Puede obtener otros 2 Bytes con: $ _ = "01. Sí, 02X. Todos los demás1 solo están imitando. Entonces, ¿no será 21 p3? P3. P3."; S / \ d / ("I'm", "SlimX", "the real", "lease stand up") [$ &] / ge; s / X / Shady / g; print
Thaylon

12

Ruby, 154 bytes

$><<"012. Yes, 032.
All you other12s are just imitating.
So, won't312 p4?
P4. P4.".gsub(/\d/){%W{I'm \ Slim \ Shady \ the\ real lease\ stand\ up}[$&.hex]}

Después de ayudar a algunas personas a dividir las cadenas de relleno, decidí probar su idea de devolución de llamada. ;)


1
Puede guardar algunos caracteres: #{h+a}es más corto que "+h+a+", y #{d+h+a}es más corto que "+d+h+a+".
ProgramFOX

1
@ProgramFOX oO ... Me da vergüenza decir que solo pensé en eso #{h}#{a}.
Martin Ender

Puede guardar algunos más con h=" Slim"+a=" Shady", y uno reemplazando puts con $><<.
histocrat

154 con.gsub(/\d/){%W{I'm \ Slim \ Shady \ the\ real lease\ stand\ up}[$&.hex]}
Ventero

@Ventero gracias! :)
Martin Ender

9

JavaScript (E6) 165

Lo mismo en otro idioma.

alert("012. Yes, 05326All you other12s are just imitating6So, won't5312 p4?\nP4. P4."
.replace(/\d/g,x=>"I'm1 Slim1 Shady1real1lease stand up1 the 1.\n".split(1)[x]))

Explicación: reemplace cada dígito individual en la primera cadena con la cadena correspondiente en la matriz ["I'm"," Slim"," Shady","real","lease stand up"," the ",".\n"]

Revisado con las nuevas reglas aquí en PPCG (salida devuelta de una función, sin restricciones sobre las características más nuevas que el desafío), esto podría ser 158. Vea el fragmento

F=
_=>`012. Yes, 0532.
All you other12s are just imitating.
So, won't5312 p4?
P4. P4.`.replace(/\d/g,x=>"I'm, Slim, Shady,real,lease stand up, the ".split`,`[x])

console.log(F())


1
mierda loca, me gusta
john Smith

Buena implementación :) Puede guardar un byte utilizando un literal de plantilla en la replacefunción y reemplazándolo \ncon una nueva línea real.
Shaggy

@ Shaggy Podría hacerlo mejor con los literales de plantilla, pero no se implementaron en ningún navegador en ese momento (agosto de 2014)
edc65

Ah, ya veo. ¿Eso invalida mi respuesta , por lo tanto, dado que esta pregunta se publicó antes de que se estandarizara la especificación que define los literales de plantilla?
Shaggy

1
@JacobPersi echa un vistazo
edc65

6

CJam - 133

"I'm| Slim| Shady| the real|lease stand up|432. Yes, 412.
All you other32s are just imitating.
So, won't132 p0?
P0. P0."'|/~5,{`/\*}/

Pruébalo en http://cjam.aditsu.net/

Creo que también funciona en GolfScript si reemplazas '|con"|"


77
Todos los otros treinta y dos solo están imitando. Entonces, ¿no será uno, tres, dos pis ze-ro? Pee ze-ro. Pee ze-ro. Así es como va a sonar en mi cabeza de ahora en adelante. : P
Dennis

6

GolfScript, 162 154 152 144 bytes

"I'm ":i"Slim ":|"Shady":y". Yes, "i"the real ":!y".
All you other "|y"s are just imitating.
So, won't "!|y" p""lease stand up":l"?
P"l". P"l"."

Prueba en línea


3
Puede guardar 8 bytes reemplazando \ny ncon un salto de línea real y eligiendo nombres de variables no alfanuméricos (por ejemplo, &) para eliminar el espacio en blanco a su alrededor.
Dennis

@ Dennis Muchas gracias! Edité mi respuesta.
ProgramFOX

La guerra ha comenzado.
Josiah Winslow

5

VBA 307 Bytes

Y ofuscado con separadores de línea (solo por diversión). Basado en esta respuesta

Function p()
e = "Slim ": m = "Shady": i = "I'm ": n = "lease stand up": s = "real ": a = "."
p = i & e & m & ". Yes, " & i & "the " & s & m & a & Chr(10) & "All you other " & e & m & "s are just imitating." & Chr(10) & "So, won't the " & s & e & m & " p" & n & Chr(10) & "P" & n & ". P" & n & a
End Function

Llamado desde la ventana inmediata con ?p.

El 307 incluye el ?p.


1
Oh,? P en la ventana inmediata veo, +1
Alex

de los que deberías deshacerte a = ".", creo que podrías quitarte algunos Bytes
Malachi

En realidad, pensándolo bien, creo que es más legible con los separadores de línea frente a las nuevas líneas ...
RubberDuck

¿No puedes deshacerte de los espacios entre operadores?
Malaquías

1
@Malachi según la especificación, sí, pero las implementaciones reales fuerzan el espacio en blanco sobre usted. Si lo hiciera en VBScript, probablemente podría acortarlo un poco.
RubberDuck

5

PHP - 151 bytes

<?="I'm Slim Shady".gzinflate("]Œ1
„0E{Á;üÎFr…ÅÒNHe9à°F&‰d&,Þ~Avmßûï;̬=Æ.ÂVFaø•–ÃµÍ ‚#WäÓx    ñR
*Œ­ª!Ä`d!½Ï¹Ï=>9uöót7Ø…Ij”ÔýÕ6Ó?qx‚/");@realstand;

hexdump:

0000000 3f3c 223d 2749 206d 6c53 6d69 5320 6168
0000010 7964 2e22 7a67 6e69 6c66 7461 2865 5d22
0000020 318c 840a 1030 7b45 3bc1 cefc 7246 c585
0000030 4ed2 6548 e039 46b0 8926 2664 de2c 057e
0000040 7641 df6d effb cc3b 3dac 2ec6 56c2 6146
0000050 f812 9695 b5c3 20cd 2382 e457 14d3 0978
0000060 52f1 2a0a ad8c 21aa 60c4 2164 cfbd cfb9
0000070 3e3d 7539 f3f6 3774 85d8 1949 946a d416
0000080 d5fd d336 713f 8278 222f 3b29 7240 6165
0000090 736c 6174 646e 003b
0000097

Otra respuesta sin usar gzinflate (228 bytes):

Lee cortos (16 bits), extrae 3 enteros de 5 bits como índices de una tabla de búsqueda.

<?$a=str_split(" .Yes,AlyouthrajimngSw'pP?
")+[27=>"I'm ",'Slim ',@Shady,'the real ','lease stand up'];$b=unpack(@v26,'o…~:tç       (ƒ-4€t£9ê`0BË-SBT $2U`Y{ÿXg |ác');foreach($b as$c)echo$a[$c>>10],$a[$c>>5&31],$a[$c&31];

hexdump:

0000000 3f3c 6124 733d 7274 735f 6c70 7469 2228
0000010 2e20 6559 2c73 6c41 6f79 7475 7268 6a61
0000020 6d69 676e 7753 7027 3f50 220a 2b29 325b
0000030 3d37 223e 2749 206d 2c22 5327 696c 206d
0000040 2c27 5340 6168 7964 272c 6874 2065 6572
0000050 6c61 2720 272c 656c 7361 2065 7473 6e61
0000060 2064 7075 5d27 243b 3d62 6e75 6170 6b63
0000070 4028 3276 2c36 9d27 026f 8504 7e0c 3a03
0000080 e774 0918 0901 8328 1c2d 8034 a374 ea39
0000090 6001 3011 cb42 532d 5442 a007 3224 6055
00000a0 9d59 ff7b 5802 2067 e17c 2763 3b29 6f66
00000b0 6572 6361 2868 6224 6120 2473 2963 6365
00000c0 6f68 6124 245b 3e63 313e 5d30 242c 5b61
00000d0 6324 3e3e 2635 3133 2c5d 6124 245b 2663
00000e0 3133 3b5d
00000e4

5

C, 374

Al mover la memoria

No es el más corto, pero ¿puede ser más rápido?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *s;
void m (int d, int f, int p)
{
    memmove (s+p+f, s+p, strlen(s)-p+1); // Shift a part of the string to make room for our insertion
    memcpy (s+p, s+d, f); // Copy the desired reference in place
}
int main ()
{
    s = malloc (168);
    strcpy (s,"I'm Slim Shady. Yes, the real.\nAll you others are just imitating.\nSo, won't the please stand up?\nP. ");

    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);
}

Son 374 caracteres mucho después de la minificación.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char*s;void m(int d,int f,int p){memmove(s+p+f,s+p,strlen(s)-p+1);memcpy(s+p,s+d,f);}int main(){s=malloc(168);strcpy(s,"I'm Slim Shady. Yes, the real.\nAll you others are just imitating.\nSo, won't the please stand up?\nP. ");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);}

Agradable, pero puedes jugarlo hasta 278 bytes: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);}
Johan du Toit

5

Java, 247

Mi primer código de golf, mientras aprendía Java. Lo publicó porque supera la otra entrada de Java (totalmente funcional) y la entrada de Haskell.

class S{public static void main(String[]a){String s="I'm",t=" Slim",u=" Shady",v=" the real",w="lease stand up";System.out.print(s+t+u+". Yes, "+s+v+u+".\nAll you other"+t+u+"s are just imitating.\nSo, won't"+v+t+u+" p"+w+"?\nP"+w+". P"+w+".");}}

5

C # 209 205 201 197 209 212 217

class P{static void Main(){System.Console.Write("{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}.", "I'm ","Slim ","Shady","the real ","lease stand up");}}

Ahora con capitalización adecuada y nuevas líneas


1
Probablemente podría guardar algunos caracteres más moviendo espacios de cadena de formato a reemplazos, como WriteLine("{0}{1}","I'm ","Slim ").
NightElfik

1
La nueva línea final no parece ser un requisito, así que considere usar en .Write()lugar de .WriteLine(). Incluso si es necesario, .Write()con a \nes más corto.
Bob

¡Gracias @Bob que me salvó otros 4 adiós! incluso en mi respuesta VB también!
Malaquías el

Usted no tiene el capital P está en el pie por favor dos veces
IEatBagels

@TopinFrassi, lo arreglé en esta respuesta y en mi respuesta VB también. También me faltaba un espacio. Estoy preguntando sobre las nuevas líneas en la salida en este momento ...
Malachi

5

VB 253 249 245 241 244 285 259 223

Odio la terminación de New Line

Module M
Sub Main
Console.Write("{0}{1}{2}. Yes, {0}{3}{2}.{5}All you other {1}{2}s are just imitating.{5}So, won't {3}{1}{2} p{4}?{5}P{4}. P{4}.","I'm ","Slim ","Shady","the real ","lease stand up",vbCr)
End Sub
End Module

Ahora con mayúsculas y líneas nuevas en la salida, y sin pestañas *

Gracias VB por vbCrLf

¡Gracias, @Taylor Scott!


Me pregunto si esto se ejecutará sin las pestañas y las nuevas líneas ?????
Malaquías

no me deja en Visual Studio 2013
Malachi


1
@TaylorScott, aparentemente ahora te permitirá codificarlo sin las sangrías. o tal vez eso es solo Mono para ti
Malachi

Por lo que sé, sí, lo que el compilador puede analizar depende en gran medida de la versión en la que se encuentre, especialmente volviendo a VB 6.0 y anteriores
Taylor Scott el

4

VBA 343 bytes

Sub EMINEM()
e = "Slim "
m = "Shady"
i = "I'm "
n = "lease stand up"
em = "real "

MsgBox i & e & m & ". Yes, " & i & "the " & em & m & "." & Chr(10) & "All you other " & e & m & "s are just imitating." & Chr(10) & "So, won't the " & em & e & m & " p" & n & Chr(10) & "P" & n & ". P" & n & "."

End Sub

1
Muy buena implementación
Malachi

Gracias Malachi, no puedo evitar este golf como viejos fanáticos de Eminem.
Alex

Estoy trabajando en uno en este momento.
Malaquías el

2
Es genial ver a alguien jugando al golf en VBA. Sin ?embargo, ¿no puedes imprimir en la ventana inmediata ?
RubberDuck

1
@ ckuhn203 "?" cambia a 'print' pero necesitaré debug.print para que se estropee cada vez que use "?". Siéntase libre de señalar si puedo hacerlo aquí, ¡gracias!
Alex


3

PHP - 196 171

<?$S="Shady";$P="lease stand up";$R="the real ";$I="I'm ";$s="Slim ";echo"$I$s$S. Yes, $I$R$S
All you other $s$S"."s are just imitating.
So, won't $R$s$S p$P?
P$P. P$P."

;


3

Lua 201 193 188 178

h=" Shady"i="I'm"s=" Slim"..h r=" the real"u="lease stand up"io.write(i,s,". Yes, ",i,r,h,".\nAll you other",s,"s are just imitating.\nSo, won't",r,s," p",u,"?\nP",u,". P",u,".")

Ungolfed y ampliado algunos

h=" Shady"
i="I'm"
s=" Slim"..h
r=" the real"
u="lease stand up"
io.write(i,s,". Yes, ",i,r,h,".\nAll you other",s,"s are just imitating.\nSo, won't",r,s," p",u,"?\nP",u,". P",u,".")

3

Lisp común, 197

(let((a"I'm ")(b"Slim ")(c"Shady")(d"real ")(e"lease stand up"))(format t"~{~A~}"(list a b c". Yes, "a"the "d c".
All you other "b c"s are just imitating.
So, won't the "d b c" p"e"?
P"e". P"e"")))

3

Perl, 161 164 bytes

No es tan corto como la aprensiva respuesta de ossifrage , pero quería compartir CamelCaseCompression, que nadie más ha usado y permite eliminar muchos espacios y comillas.

Sin embargo, necesita un texto un poco más largo para ser realmente beneficioso.

$_="0 1 2. Yes, 03 2.
AllYouOther 1 2sAreJustImitating.
So, won't3 1 24?
4. 4.";s/\d/qw(I'm Slim Shady TheReal PleaseStandUp)[$&]/ge;s/\B([A-Z])/ \L\2/g;print

Editar: Siguiendo la sugerencia de Thaylon, la s/(\S)([A-Z])/\1 \L\2/gsustitución se ha acortado por cuatro caracteres. Sin embargo, eso no se refleja en los dígrafos de mayúsculas y comas, por lo que se tuvo que insertar un espacio adicional antes de "no".


Interesante. Un poco más corto con "no es un límite de palabra": s / \ B ([AZ]) / \ L \ 1 / g;
Thaylon

Gracias @Thaylon. \ B es algo sobre lo que tendré que leer. Es raro.
comperendinous

3

Python: 198 193 bytes

i,s,h,r,t="I'm ","Slim ","Shady","real ","lease stand up"
print i+s+h+". Yes, "+i+"the "+r+h+".\nAll you other "+s+h+"s are just imitating.\nSo, won't the "+r+s+h+" p"+t+"?\n"+"P"+t+'. P'+t+'.'

muévase pleasea la retención de variables stand upy deshágase de su gvariable, y posiblemente elimine las /nque no necesita
Malachi

Si elimino el \ n, las nuevas líneas desaparecerán y supongo que son necesarias para la salida.
RageCage

3

Golfscript - 140 (tweetable)

"I'm"" Slim"" Shady"". Yes, "3$" the real"3$".
All you other"6$2$"s are just imitating.
So won't"5$3$3$" p""lease stand up""?
P"1$". P"1$"."

Soy Slim Shady Sí, 3 los reales 3.

Todos los otros 62s solo están imitando.

Entonces, ¿no se levantará 533?

P1 P1


3

Óxido (programa completo), 183 180 178 173 172 bytes

178 -> 173 bytes, gracias a Sara J

fn main(){print!("{}{}{}. Yes, {0}{}{2}.
All you other{1}{2}s are just imitating.
So, won't{3}{1}{2} p{}?
P{4}. P{4}.","I'm"," Slim"," Shady"," the real","lease stand up")}

Pruébalo en línea!



@SaraJ Ofc, obviamente! Gracias :)
ruohola

2

C # 226

class P{static void Main(){System.Console.Write("{0}{1}{2}. Yes, {0} the{3} {2}.All you other{1}{2}s are just imitating.So, won't the{3}{1}{2} please{4}up?Please{4}up. Please{4}up.","I'm"," Slim ","Shady"," real"," stand ");}}

te perdiste algunos puntos donde puedes eliminar un montón de personajes, mira el mío. codegolf.stackexchange.com/a/35557/9435
Malachi

2

Java, 308 301 298 292 258

Java es un poco detallado, pero aquí está mi intento:

class P{public static void main(String[]c){String s=" Shady",t=" the real",l="lease stand up",i=" Slim",m="I'm";System.out.format("%s%s%s. Yes, %s%s%s.\nAll you other%s%ss are just imitating.\nSo, won't%s%s%s p%s?\nP%s. P%s.",m,i,s,m,t,s,i,s,t,i,s,l,l,l);}}

1
Puede 1-fusionar 'real' y 'the', siempre están juntos 2-mover algunos espacios en blanco de la cadena de formato grande 3-sobre todo: use más variables individuales, la matriz no sirve de nada. En general, puede ir a ~ 270
edc65

@ edc65 No sabía que podía declarar múltiples cadenas en Java sin escribir Stringvarias veces. Es por eso que tenía la matriz para todas las variables menos una. Muchas gracias por las pistas.
tim

2

MySQL: 273 267

set @i="I'm", @s="Slim", @h="Shady", @r="real", @t="stand", @p="lease stand up";select concat(@i," ",@s," ",@h,". Yes, ",@i," the ",@r," ",@h,".\r\nAll you other ",@s," ",@h,"s are just imitating.\r\nSo, won't the ",@r," ",@s," ",@h," p",@p,"?\r\nP",@p,". P",@p,".");

2

Rubí: 211

Este es impresionante ya que simplemente imprimir el texto es más eficiente, pero esto es mucho más genial.

puts Zlib.inflate("eJxdjDEKwzAQBHu9Yjs3Rl8ILt0FVKU88GErnCWhO2H8e6sIwUmzxQyz87AjSOyz0XJ6vFhHzB3axqhM8hFuEsGZG3IX9ZYoqDLeTQ1xj0YW0+pdyCOOnAa7/XwTFGFShhqlBa083PMXePyDC15NOP8=".unpack("m0")[0])#I'mSlimShadyrealstand

2

JavaScript 259 240 238 bytes

No es tan bueno, pero bien podría publicar una respuesta.

b=String.prototype,b.a=b.replace,alert("123. Yes, 16537All you other 23s are just imitating7So, won't 6523 p4?\nP4. P4.".a(/1/g,"I'm ").a(/2/g,"Slim ").a(/3/g,"Shady").a(/4/g,"lease stand up").a(/5/g,"real ").a(/6/g,"the ").a(/7/g,".\n"))

Versión más legible:

b=String.prototype
b.a=b.replace
alert("123. Yes, 16537All you other 23s are just imitating7So, won't 6523 p4?\nP4. P4."
    .a(/1/g,"I'm ")
    .a(/2/g,"Slim ")
    .a(/3/g,"Shady")
    .a(/4/g,"lease stand up")
    .a(/5/g,"real ")
    .a(/6/g,"the ")
    .a(/7/g,".\n")
    )

2

F #, 250 242

[1..21]|>List.iter((function|1|5->"I'm "|2|9|13->"Slim "|4->". Yes, "|6|12->"the real "|8->".\nAll you other "|11->"s are just imitating.\nSo won't "|15->" p"|16|18|20-> "lease stand up"|17->"?\nP"|19->". P"|21->"."|_->"Shady")>>printf "%s")

Versión más legible con saltos de línea:

[1..21]|>List.iter((function
|1|5->"I'm "
|2|9|13->"Slim "
|4->". Yes, "
|6|12->"the real "
|8->".\nAll you other "
|11->"s are just imitating.\nSo won't "
|15->" p"
|16|18|20-> "lease stand up"
|17->"?\nP"
|19->". P"
|21->"."
|_->"Shady")>>printf "%s")

2

JavaScript (ES6), 165 163 bytes

f=

_=>`${a="I'm"}${b=` Slim${c=` Shady`}`}. Yes, ${a+(d=" the real")+c}.
All you other${b}s are just imitating.
So, won't${d+b} p${e="lease stand up"}?
P${e}. P${e}.`

console.log(f());


2

PHP, 179 bytes

<?
$i="I'm";
$s=" Slim";
$h=" Shady";
$p="lease stand up";
$r=" the real";
echo"$i$s$h. Yes, $i$r$h.\nAll you other$s$h"."s are just imitating.\nSo, won't$r$s$h p$p?\nP$p. P$p.";

Y golf

<?$i="I'm";$s=" Slim";$h=" Shady";$p="lease stand up";$r=" the real";echo"$i$s$h. Yes, $i$r$h.\nAll you other$s$h"."s are just imitating.\nSo, won't$r$s$h p$p?\nP$p. P$p.";
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.