The Real Slim Shady


43

Eco quanto segue nel minor numero di byte possibile:

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.

Le seguenti cinque parole devono apparire ESATTAMENTE UNA VOLTA nel tuo codice:

I'm
Slim
Shady
real
stand


32
Ora quella stupida canzone è nella mia testa.
Darth Egregious,

Va bene se l'output del programma supera il testo completo? Vale a dire. racchiudendo il testo tra parentesi.
Sylwester,

@Sylwester Fintanto che segue le regole, puoi codificarlo come vuoi.
Rybo111,

È davvero questa complessità kolmogorov ? È vero che qualsiasi programma con l'output corretto limita la complessità di Kolmogorov sopra, ma il vincolo aggiuntivo sembra forzare un programma non ottimale.
Peter Taylor,

@PeterTaylor potresti avere ragione: lascerò alla community la modifica o meno.
Rybo111,

Risposte:


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 stessa idea di altre soluzioni di compressione (sebbene ottenute in modo indipendente).


1
Ho erroneamente declassato questo. Scusate. (Se si apportano modifiche, penso di poter rimuovere il downvote)
edc65

@ edc65: Grazie per l'onestà :) Ho modificato la risposta.
nneonneo,

Puoi radere 3 byte semplicemente riutilizzando gli spazi. 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 byte

Godere...

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

Fori ad anello standard


Non include le cinque parole.
nwp,

6
Forse scorri verso destra, tuttavia modificherò il post in modo da non avere troppo ...
Joshpbarron,

Ho fatto scorrere ma in qualche modo ho perso le parole, scusa.
nwp,

ORA è chiaro!
edc65,

1
Ho inventato personaggi del 1918 , non so che nessuno di questi personaggi fosse fuori dalla norma in cui avrebbero aggiunto byte extra. Non conosco ancora un altro modo di contare i byte, quindi direi 1918
Malachia il

17

Perl, 155

Con miglioramenti di Martin Büttner e 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 Suggerimenti eccellenti. Grazie :-)
ossifrage schizzinoso

Puoi omettere l'ultimo; pure.
Thaylon

2
Adoro la parte "All you other 1s"
William Barbosa,

Spostando "" per 157: $ _ = "01. Sì, 032. Tutti voi altri1 state solo imitando. Quindi, non3131 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

Le mie sono così simili adesso, e io ero più tardi, quindi Ill semplicemente cancellarlo. È possibile ottenere altri 2 byte con: $ _ = "01. Sì, 02X. Tutti gli altri 1 sono solo imitazione. Quindi, non21 p3? P3. P3."; S / \ d / ("I'm", "SlimX", "the real", "lease stand up") [$ &] / ge; s / X / Shady / g; print
Thaylon

12

Rubino, 154 byte

$><<"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]}

Dopo aver aiutato alcune persone a dividere le stringhe di riempimento, ho deciso di provare la loro idea di richiamata sostitutiva. ;)


1
Puoi salvare alcuni personaggi: #{h+a}è più corto di "+h+a+", ed #{d+h+a}è più corto di "+d+h+a+".
Programma FOX

1
@ProgramFOX oO ... Mi vergogno di dire che ci ho solo pensato #{h}#{a}.
Martin Ender,

Puoi risparmiare qualche altro con h=" Slim"+a=" Shady"e uno sostituendolo puts con $><<.
istocratico

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

@Ventero grazie! :)
Martin Ender,

9

JavaScript (E6) 165

Lo stesso in un'altra lingua

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

Spiegazione: sostituire ogni singola cifra nella prima stringa con la stringa corrispondente nella matrice ["I'm"," Slim"," Shady","real","lease stand up"," the ",".\n"]

Revisionato con le nuove regole qui in PPCG (output restituito da una funzione, nessun vincolo sulle funzionalità più recenti della sfida), questo potrebbe essere 158. Vedi lo snippet

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
Merda pazza, mi piace
john Smith

Bella implementazione :) È possibile salvare un byte utilizzando un modello letterale nella replacefunzione e sostituendolo \ncon una nuova riga effettiva.
Shaggy,

@Shaggy Potrei fare di meglio con i template letterali, ma non sono stati implementati in nessun browser alla volta (ago 2014)
edc65,

Ah, capisco. Ciò invalida la mia risposta , quindi, visto che questa domanda è stata pubblicata prima che le specifiche che definiscono i letterali del modello fossero standardizzate?
Shaggy,

1
@JacobPersi dai un'occhiata
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,{`/\*}/

Provalo su http://cjam.aditsu.net/

Penso che funzioni anche con GolfScript se lo sostituisci '|con"|"


7
Tutti voi altri trenta-due state solo imitando. Quindi, uno tre due pipì ze-ro? Pee ze-ro. Pee ze-ro. È così che mi suonerà in testa d'ora in poi. : P
Dennis,

6

GolfScript, 162 154 152 144 byte

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

Test online


3
È possibile salvare 8 byte sostituendo \ne ncon un avanzamento riga effettivo e scegliendo nomi di variabili non alfanumerici (ad es. &) Per eliminare lo spazio bianco che li circonda.
Dennis,

@Dennis Grazie mille! Ho modificato la mia risposta.
Programma FOX il

La guerra è iniziata
Josiah Winslow,

5

VBA 307 byte

E offuscato con i separatori di linea (solo per divertimento). Sulla base di questa risposta

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

Chiamato dalla finestra immediata con ?p.

Il 307 include il ?p.


1
Oh,? P nella finestra immediata che vedo, +1
Alex

dovresti sbarazzarti di a = "."Penso che potresti radere qualche byte
Malachia il

In realtà,
ripensandoci

non riesci a liberarti degli spazi tra gli operatori?
Malachi,

1
@Malachi secondo le specifiche, sì, ma le implementazioni effettive forzano lo spazio bianco su di te. Se lo facessi in VBScript invece probabilmente potrei accorciarlo un po '.
RubberDuck,

5

PHP - 151 byte

<?="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

Un'altra risposta senza usare gzinflate (228 byte):

Legge short (16 bit), estrae 3 numeri interi a 5 bit come indici di una tabella di ricerca.

<?$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

Spostando la memoria

Non il più breve, ma può andare più veloce?

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

Sono trascorsi 374 caratteri dopo la minificazione.

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

Bello, ma puoi giocare a golf fino a 278 byte: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

Il mio primo codice golf, mentre imparavo Java. Inserito perché batte l'altra voce Java (perfettamente funzionante) e la voce 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");}}

Ora con una corretta capitalizzazione e nuove linee


1
Probabilmente potresti salvare qualche altro carattere spostando gli spazi dalla stringa di formato alle sostituzioni, come WriteLine("{0}{1}","I'm ","Slim ").
NightElfik

1
La fine riga non sembra essere un requisito, quindi considera di utilizzare .Write()invece di .WriteLine(). Anche se è richiesto, .Write()con a \nè più corto.
Bob

grazie @Bob che mi ha salvato altri 4 bye! anche sulla mia risposta VB!
Malachi,

Non hai maiuscole P sulla Please Stand up due volte
IEatBagels

@TopinFrassi, l'ho risolto su questa risposta e anche sulla mia risposta VB. Mi mancava anche uno spazio. Sto chiedendo delle nuove linee in uscita in questo momento ...
Malachi,

5

VB 253 249 245 241 244 285 259 223

Odio la chiusura di 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

Ora con capitalizzazione corretta e newline nell'output e nessuna scheda *

Grazie VB per vbCrLf

Grazie @ Taylor Scott!


Mi chiedo se questo funzionerà senza le schede e le nuove linee ?????
Malachi,

non mi farà entrare in Visual Studio 2013
Malachi il


1
@TaylorScott, apparentemente ti permetterà di codificarlo senza i rientri ora. o forse è solo Mono per te
Malachia,

Per quanto ne so, sì, ciò che il compilatore può analizzare dipende in gran parte dalla versione su cui ci si trova - in particolare tornando a VB 6.0 e precedenti
Taylor Scott

4

VBA 343 byte

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
Implementazione molto piacevole
Malachia,

Grazie Malachi, non posso saltare questo golf come un vecchio fan di Eminem.
Alex

Sto lavorando su uno in questo momento.
Malachi,

2
È bello vedere qualcuno giocare a golf in VBA. Non puoi stampare nella finestra immediata con ?però?
RubberDuck,

1
@ ckuhn203 "?" cambia in 'stampa' ma avrò bisogno di debug.print in modo che si rovini ogni volta che uso "?". Sentiti libero di sottolineare se posso farlo qui, grazie!
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 ed espanso alcuni

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 comune, 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 byte

Non abbastanza breve come la risposta di ossifrage schizzinosa , ma volevo condividere CamelCaseCompression, che nessun altro ha usato e consente la rimozione di molti spazi e virgolette.

Tuttavia, ha bisogno di un testo leggermente più lungo per diventare veramente utile.

$_="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

Modifica: su suggerimento di Thaylon, la s/(\S)([A-Z])/\1 \L\2/gsostituzione è stata ridotta di quattro caratteri. Tuttavia, ciò non rileva i digrafi in virgola maiuscola, quindi è stato necessario inserire uno spazio aggiuntivo prima di "non farlo".


Interessante. Un po 'più breve con "non un confine di parola": s / \ B ([AZ]) / \ L \ 1 / g;
Thaylon,

Grazie @Thaylon. \ B è qualcosa che dovrò leggere. È strano.
comperendinous

3

PYTHON: 198 193 byte

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+'.'

spostati pleasenella tenuta variabile stand upe sbarazzati della tua gvariabile, e possibilmente rimuovi /nnon ne hai bisogno
Malachia

Se rimuovo \ n le newline spariranno e presumo che siano necessarie per l'output.
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$"."

Sono Slim Shady. Sì, 3 il vero 3.

Tutti voi altri 62s state solo imitando.

Quindi, 533, per favore, non alzarti?

P1. P1.


3

Rust (programma completo), 183 180 178 173 172 byte

178 -> 173 byte, grazie 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")}

Provalo online!



@SaraJ Ofc, ovviamente! Grazie :)
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 ");}}

ti sei perso alcuni punti in cui puoi rimuovere un gruppo di personaggi, controlla il mio. codegolf.stackexchange.com/a/35557/9435
Malachi,

2

Giava, 308 301 298 292 258

Java è un po 'prolisso, ma ecco il mio tentativo:

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
Puoi unire "reale" e "il", sono sempre insieme 2 spostano alcuni spazi vuoti dalla stringa di grande formato 3 e soprattutto: usa più variabili singole, l'array è inutile. Tutto sommato puoi andare a ~ 270
edc65

@ edc65 Non sapevo che avrei potuto dichiarare più stringhe in Java senza scrivere Stringpiù volte. Ecco perché avevo l'array per tutte le variabili tranne una. Grazie mille per i suggerimenti.
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

Rubino: 211

Questo è impressionante dal momento che semplicemente stampare il testo è più efficiente, ma è molto più interessante.

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

2

JavaScript 259 240 238 byte

Non così buono, ma potrebbe anche pubblicare una risposta.

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

Versione più leggibile:

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

Versione più leggibile con interruzioni di riga:

[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 byte

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 byte

<?
$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.";

E 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.";
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.