The Real Slim Shady


43

Wypisz następujące w jak najmniejszej liczbie bajtów:

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.

Poniższe pięć słów musi pojawić się dokładnie w kodzie:

I'm
Slim
Shady
real
stand


32
Teraz ta głupia piosenka jest w mojej głowie.
Darth Egregious

Czy to w porządku, jeśli program wyświetla więcej niż pełny tekst? To znaczy. otaczanie liryki parenami.
Sylwester,

@Sylwester O ile jest zgodny z zasadami, możesz go kodować w dowolny sposób.
rybo111

Czy to naprawdę złożoność Kołmogorowa ? To prawda, że ​​każdy program, który ma poprawne wyjście, ogranicza złożoność Kołmogorowa powyżej, ale dodatkowe ograniczenie prawdopodobnie wymusi program nieoptymalny.
Peter Taylor,

@PeterTaylor możesz mieć rację - pozostawię to społeczności do edycji, czy nie.
rybo111,

Odpowiedzi:


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

Oczywiście ten sam pomysł jak w przypadku innych rozwiązań kompresyjnych (choć uzyskanych niezależnie).


1
Przez pomyłkę głosowałem za tym. Przepraszam. (Jeśli wprowadzisz jakieś zmiany, myślę, że mogę usunąć głos negatywny)
edc65

@ edc65: Dzięki za uczciwość :) Zredagowałem odpowiedź.
nneonneo

Możesz ogolić 3 bajty, ponownie wykorzystując spacje. 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 bajtów

Cieszyć się...

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

Standardowe otwory pętli


Nie zawiera pięciu słów.
nwp

6
Być może przewiń w prawo, jednak
zmienię

Przewijałem, ale jakoś przeoczyłem słowa, przepraszam.
nwp

TERAZ jest jasne!
edc65,

1
Wymyśliłem 1918 znaków, nie wiem, czy któryś z tych znaków wykracza poza normę, w której dodawaliby dodatkowe bajty. Nie znam jeszcze innego sposobu liczenia bajtów, więc powiedziałbym, że 1918
Malachi

17

Perl, 155

Dzięki ulepszeniom Martina Büttnera i Thaylona :

$_="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 Doskonałe sugestie. Dzięki :-)
piskliwy ossifrage

Możesz pominąć ostatni; też.
Thaylon,

2
Uwielbiam część „All you other 1s”
William Barbosa

Przesuwam się po "" za 157: $ _ = "01. Tak, 032. Wszyscy inni1 imitują. Więc nie będzie 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

Moje są teraz podobne, a ja byłem później, więc po prostu je usunę. Możesz dostać kolejne 2 bajty za pomocą: $ _ = "01. Tak, 02X. Wszyscy inni1 imitują. Więc nie będzie 21 p3? P3. P3."; S / \ d / ("I'm", „SlimX”, „prawdziwy”, „dzierżawa wstań”) [$ &] / ge; s / X / Shady / g; print
Thaylon

12

Rubin, 154 bajty

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

Po tym, jak pomogłem kilku osobom w podzieleniu ciągów wypełniających, postanowiłem wypróbować ich pomysł na wywołanie zwrotne. ;)


1
Możesz zapisać niektóre postacie: #{h+a}jest krótszy niż "+h+a+"i #{d+h+a}jest krótszy niż "+d+h+a+".
ProgramFOX

1
@ProgramFOX oO ... Wstydzę się powiedzieć, że tylko myślałem #{h}#{a}.
Martin Ender

Można zaoszczędzić kilka więcej z h=" Slim"+a=" Shady", a jeden zastępując puts z $><<.
histocrat

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

@Ventero dzięki! :)
Martin Ender

9

JavaScript (E6) 165

Tak samo w innym języku

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

Objaśnienie: zamień każdą pojedynczą cyfrę w pierwszym ciągu na odpowiedni ciąg w tablicy ["I'm"," Slim"," Shady","real","lease stand up"," the ",".\n"]

Zmieniony o nowe reguły tutaj w PPCG (dane wyjściowe zwrócone przez funkcję, brak ograniczeń dotyczących funkcji nowszych niż wyzwanie), może to być 158. Zobacz fragment

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
szalone gówno, podoba mi się
John Smith,

Niezła implementacja :) Możesz zapisać bajt, używając literału szablonu w replacefunkcji i zastępując \ngo rzeczywistym znakiem nowej linii.
Kudłaty

@Shaggy Mógłbym poradzić sobie lepiej z literałami szablonów, ale nie były one zaimplementowane w żadnej przeglądarce na raz (sierpień 2014)
edc65

O, rozumiem. Czy to unieważnia moją odpowiedź , dlatego, że pytanie zostało opublikowane, zanim specyfikacja definiująca literały szablonów została znormalizowana?
Kudłaty

1
@JobobPersi spójrz
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,{`/\*}/

Wypróbuj na http://cjam.aditsu.net/

Myślę, że to działa również w GolfScript jeśli zastąpi '|się"|"


7
Wszyscy pozostali trzydzieści dwójki naśladują. Więc, czy jeden trzy dwa siusiać ze-ro? Siusiu ze-ro. Siusiu ze-ro. Odtąd zabrzmi to w mojej głowie. : P
Dennis

6

GolfScript, 162 154 152 144 bajtów

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

Przetestuj online


3
Można zapisać 8 bajtów zastępując \ni no rzeczywistej karetki wybór nazwy zmiennych nie-alfanumerycznych (na przykład &), aby wyeliminować odstępy wokół nich.
Dennis

@Dennis Wielkie dzięki! Zredagowałem swoją odpowiedź.
ProgramFOX

Wojna się rozpoczęła.
Josiah Winslow

5

VBA 307 bajtów

I zaciemnione separatorami linii (dla zabawy). Na podstawie tej odpowiedzi

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

Wywoływany z bezpośredniego okna za pomocą ?p.

307 obejmuje ?p.


1
Och,? P w bezpośrednim oknie Widzę, +1
Alex

powinieneś się go pozbyć. a = "."Myślę, że możesz ogolić kilka Bajtów
Malachi

Właściwie, po zastanowieniu, myślę, że jest bardziej czytelny w przypadku separatorów linii w porównaniu z nowymi liniami ...
RubberDuck

nie możesz pozbyć się odstępów między operatorami?
Malachi

1
@Malachi zgodnie ze specyfikacją, tak, ale rzeczywiste implementacje wymuszają na tobie spację. Gdybym to zrobił w VBScript, prawdopodobnie mógłbym to trochę skrócić.
RubberDuck,

5

PHP - 151 bajtów

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

zrzut heksowy:

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

Inna odpowiedź bez użycia gzinflate (228 bajtów):

Odczytuje skróty (16 bitów), wyodrębnia 3 5-bitowe liczby całkowite jako wskaźniki tabeli odnośników.

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

zrzut heksowy:

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

Przenosząc pamięć

Nie najkrótszy, ale czy może być szybszy?

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

Ma 374 znaków długo po minifikacji.

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

Fajnie, ale możesz zagrać w golfa do 278 bajtów: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

Mój pierwszy golf golfowy podczas nauki języka Java. Wysłałem go, ponieważ bije drugi (w pełni funkcjonalny) wpis Java i wpis 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");}}

Teraz z odpowiednią literą i nowymi liniami


1
Prawdopodobnie możesz zapisać więcej znaków, przenosząc spacje z łańcucha formatu na zamienniki, np WriteLine("{0}{1}","I'm ","Slim ").
NightElfik

1
Końcowy znak nowej linii nie wydaje się wymagany, więc rozważ użycie .Write()zamiast .WriteLine(). Nawet jeśli jest to wymagane, .Write()z \njest krótsze.
Bob

dziękuję @Bob, który uratował mi kolejne 4 bajki! nawet na mojej odpowiedzi VB też!
Malachi

Nie masz kapitału P na Please Stand up dwa razy
IEatBagels

@TopinFrassi, naprawiłem to w tej odpowiedzi, a także w mojej odpowiedzi na VB. Brakowało mi również spacji. Pytam teraz o nowe wiersze w danych wyjściowych ...
Malachi

5

VB 253 249 245 241 244 285 259 223

Nienawidzę terminacji 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

Teraz z poprawnymi wielkimi literami i znakami nowej linii bez kart *

Dziękuję VB za vbCrLf

Dziękuję, @Taylor Scott!


Zastanawiam się, czy to zadziała bez zakładek i nowych linii ?????
Malachi

nie pozwoli mi w Visual Studio 2013
Malachi


1
@TaylorScott, najwyraźniej pozwoli ci to kodować bez wcięć teraz. a może to tylko Mono dla Ciebie
Malachi

O ile mi wiadomo, tak, to, co kompilator może przeanalizować, jest w dużej mierze zależne od wersji, na której jesteś - szczególnie wracając do VB 6.0 i wcześniejszych
Taylor Scott

4

VBA 343 bajty

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
Bardzo ładne wdrożenie
Malachi

Dzięki Malachi, nie mogę pominąć tego golfa jak starzy fani Eminema.
Alex

Obecnie pracuję nad jednym.
Malachi

2
Wspaniale jest widzieć, jak ktoś gra w VBA. Nie możesz jednak drukować do bezpośredniego okna ??
RubberDuck

1
@ ckuhn203 „?” zmienia się na „print”, ale będę potrzebował debug.print, więc psuje się za każdym razem, gdy używam „?”. Nie krępuj się wskazać, czy mogę to zrobić tutaj, dzięki!
Alex

4

PowerShell 194 189 164

"{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}."-f"I'm ","Slim ","Shady","the real ","lease stand up"

Jakoś moja odpowiedź bardzo przypominała @ nneonneo , chociaż nie była to moja pierwotna intencja ...



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

Niegolfowane i rozszerzone niektóre

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

Common Lisp, 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 bajtów

Nie tak krótka, jak odpowiedź piszczałego kostkowania , ale chciałem udostępnić kompresję CamelCaseCompression, której nikt inny nie użył i pozwala na usunięcie wielu spacji i znaków cudzysłowu.

Jednak naprawdę potrzebuje nieco dłuższego tekstu.

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

Edycja: Zgodnie z sugestią Thaylona s/(\S)([A-Z])/\1 \L\2/gpodstawienie zostało skrócone o cztery postacie. Nie wykrywa to jednak cyfrowych przecinków, więc przed „nie” trzeba było wstawić dodatkowe miejsce.


Ciekawy. Nieco krótszy z „bez granicy słów”: s / \ B ([AZ]) / \ L \ 1 / g;
Thaylon

Dzięki @Thaylon. \ B to coś, o czym będę musiał przeczytać. To dziwne.
wszechstronny

3

PYTHON: 198 193 bajtów

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

przenieść pleasedo gospodarstwa zmiennej stand upi pozbyć się gzmiennej i ewentualnie usunąć /nnie trzeba ich
Malachi

Jeśli usunę \ n, nowe wiersze znikną i przypuszczam, że są one niezbędne do wydruku.
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$"."

Jestem Slim Shady. Tak, 3 prawdziwe 3.

Wszystkie pozostałe 62 są naśladujące.

Więc czy 533 nie wstanie?

P1 P1


3

Rdza (pełny program), 183 180 178 173 172 bajtów

178 -> 173 bajtów, dzięki 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")}

Wypróbuj online!



@SaraJ Ofc, oczywiście! Dzięki :)
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 ");}}

przegapiłeś kilka miejsc, w których możesz usunąć grupę postaci, sprawdź moje. codegolf.stackexchange.com/a/35557/9435
Malachi

2

Jawa, 308 301 298 292 258

Java jest trochę gadatliwa, ale oto moja próba:

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
Możesz 1-scalić „prawdziwe” i „the”, zawsze są one razem 2-przenieść niektóre spacje z łańcucha dużego formatu 3-przede wszystkim: użyć więcej pojedynczych zmiennych, tablica nie ma sensu. W sumie możesz przejść do ~ 270
edc65

@ edc65 Nie wiedziałem, że mogę zadeklarować wiele ciągów w Javie bez Stringwielokrotnego pisania . Właśnie dlatego miałem tablicę dla wszystkich zmiennych oprócz jednej. Wielkie dzięki za podpowiedzi.
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

Rubin: 211

Ten jest imponujący, ponieważ zwykłe drukowanie tekstu jest bardziej wydajne, ale jest o wiele fajniejsze.

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

2

JavaScript 259 240 238 bajtów

Nie tak dobrze, ale równie dobrze może opublikować odpowiedź.

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

Bardziej czytelna wersja:

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

Bardziej czytelna wersja z podziałami linii:

[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 bajtów

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 bajtów

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

I grał w golfa

<?$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.";
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.