The Slim Slim Shady


43

Gabungkan yang berikut dalam byte sesedikit mungkin:

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.

Lima kata berikut harus muncul PERSIS SEKALI dalam kode Anda:

I'm
Slim
Shady
real
stand


32
Sekarang lagu bodoh itu ada di kepalaku.
Darth Egregious

Apakah boleh jika program mengeluarkan lebih dari teks lengkap? Yaitu. melampirkan lirik dalam parens.
Sylwester

@Sylwester Selama ini mengikuti aturan, Anda dapat mengkodekannya sesuai keinginan.
rybo111

Apakah ini benar - benar kolmogorov-kompleksitas ? Memang benar bahwa setiap program yang memiliki output yang benar membatasi kompleksitas Kolmogorov di atas, tetapi kendala tambahan tampaknya akan memaksa program yang tidak optimal.
Peter Taylor

@PeterTaylor Anda mungkin benar - Saya akan serahkan ke komunitas untuk diedit atau tidak.
rybo111

Jawaban:


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

Secara alami, ide yang sama dengan solusi kompresi lainnya (meskipun diperoleh secara independen).


1
Saya keliru memilih yang satu ini. Maaf. (Jika Anda melakukan perubahan, saya pikir saya dapat menghapus downvote)
edc65

@ edc65: Terima kasih atas kejujurannya :) Saya mengedit jawabannya.
nneonneo

Anda dapat mengurangi 3 byte hanya dengan menggunakan kembali spasi. 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

Nikmati...

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

Lubang Lingkaran Standar


Tidak termasuk lima kata.
nwp

6
Mungkin gulir ke kanan, namun saya akan mengedit posting sehingga Anda tidak memiliki terlalu ...
Joshpbarron

Saya memang menggulir tetapi entah bagaimana melewatkan kata-kata, maaf.
nwp

SEKARANG jelas!
edc65

1
Saya datang dengan 1918 karakter, saya tidak tahu bahwa salah satu dari karakter ini berada di luar norma di mana mereka akan menempel pada byte tambahan. Saya tidak tahu cara lain untuk menghitung Bytes, jadi saya akan mengatakan 1918
Maleakhi

17

Perl, 155

Dengan peningkatan oleh Martin Büttner dan 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 Saran yang bagus. Terima kasih :-)
squeamish ossifrage

Anda dapat menghilangkan yang terakhir; terlalu.
Thaylon

2
Love the "All you other 1s" part
William Barbosa

Bergeser di sekitar "" untuk 157: $ _ = "01. Ya, 032. Yang Anda semua hanya meniru. Jadi, tidak akan 31 p4? P4. P4."; S / 0 / I'm / g; s / 1 / Slim2 / g; s / 2 / Shady / g; s / 3 / yang asli / g; s / 4 / sewa berdiri / g; cetak
Thaylon

Tambang sangat mirip sekarang, dan saya kemudian, jadi saya hanya menghapusnya. Anda bisa mendapatkan 2 Byte lagi dengan: $ _ = "01. Ya, 02X. Semua yang Anda lain hanya meniru. Jadi, bukankah 21 p3? P3. P3."; S / \ d / ("Saya", "SlimX", "the real", "leasing stand up") [$ &] / ge; s / X / Shady / g; print
Thaylon

12

Ruby, 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]}

Setelah membantu beberapa orang dengan cara memisahkan string pengisi, saya memutuskan untuk mencoba ide callback pengganti mereka. ;)


1
Anda dapat menyimpan beberapa karakter: #{h+a}lebih pendek dari "+h+a+", dan #{d+h+a}lebih pendek dari "+d+h+a+".
ProgramFOX

1
@ProgramFOX oO ... Saya malu untuk mengatakan saya hanya memikirkan #{h}#{a}.
Martin Ender

Dapat menyimpan lebih banyak dengan h=" Slim"+a=" Shady", dan satu dengan mengganti puts dengan $><<.
histokrat

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

@Ventero terima kasih! :)
Martin Ender

9

JavaScript (E6) 165

Sama saja dalam bahasa lain

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

Penjelasan: ganti setiap digit tunggal dalam string pertama dengan string yang sesuai dalam array ["I'm"," Slim"," Shady","real","lease stand up"," the ",".\n"]

Direvisi dengan aturan baru di sini di PPCG (output dikembalikan dari suatu fungsi, tidak ada kendala tentang fitur yang lebih baru daripada tantangan), ini bisa menjadi 158. Lihat cuplikan

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
sial, aku suka itu
john Smith

Implementasi yang bagus :) Anda dapat menyimpan byte dengan menggunakan templat literal dalam replacefungsi dan mengganti \ndengan baris baru yang sebenarnya.
Shaggy

@ Shaggy saya bisa melakukan yang lebih baik dengan templat literal, tetapi mereka di mana tidak diimplementasikan di browser pada waktu (Agustus 2014)
edc65

Ah, begitu. Apakah itu membatalkan jawaban saya , jadi, mengingat pertanyaan ini diposting sebelum spesifikasi yang mendefinisikan literal templat distandarisasi?
Shaggy

1
@JacobPersi melihat
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,{`/\*}/

Cobalah di http://cjam.aditsu.net/

Saya pikir itu juga berfungsi di GolfScript jika Anda ganti '|dengan"|"


7
Semua yang Anda tigapuluh berpasangan lainnya hanya meniru. Jadi, bukankah satu tiga dua kencing ze-ro? Pee ze-ro. Pee ze-ro. Begitulah yang akan terdengar di kepalaku mulai sekarang. : 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"."

Tes online


3
Anda dapat menyimpan 8 byte dengan mengganti \ndan ndengan umpan baris aktual dan memilih nama variabel non-alfanumerik (misalnya, &) untuk menghilangkan spasi putih di sekitarnya.
Dennis

@Dennis Terima kasih banyak! Saya mengedit jawaban saya.
ProgramFOX

Perang telah dimulai.
Josiah Winslow

5

VBA 307 Bytes

Dan dikaburkan dengan garis pemisah (hanya untuk bersenang-senang). Berdasarkan jawaban ini

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

Dipanggil dari jendela langsung dengan ?p.

307 termasuk ?p.


1
Oh,? P di jendela langsung saya mengerti, +1
Alex

Anda harus menyingkirkan a = "."saya pikir Anda bisa mencukur beberapa Bytes
Maleakhi

Sebenarnya, setelah dipikir-pikir, saya pikir itu lebih mudah dibaca dengan pemisah baris vs baris baru ...
RubberDuck

tidak bisakah Anda menghilangkan ruang antar operator?
Maleakhi

1
@Malachi sesuai dengan spesifikasi, ya, tetapi implementasi aktual memaksa spasi pada Anda. Jika saya melakukannya di VBScript, mungkin saya bisa mempersingkatnya.
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

Jawaban lain tanpa menggunakan gzinflate (228 bytes):

Membaca celana pendek (16 bit), mengekstrak 3 bilangan bulat 5-bit sebagai indeks dari tabel pencarian.

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

Dengan menggerakkan memori

Bukan yang terpendek tapi bisakah bisa lebih cepat?

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

Ini 374 karakter lama setelah minifikasi.

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

Bagus, tetapi Anda bisa memasukkan golf ke 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

Jawa, 247

Golf kode pertama saya, sambil belajar Java. Diposting karena mengalahkan entri Java lainnya (berfungsi penuh) dan entri 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");}}

Sekarang dengan Kapitalisasi yang Tepat dan Baris Baru


1
Anda mungkin dapat menyimpan beberapa karakter lagi dengan memindahkan spasi dari string format ke penggantian, seperti WriteLine("{0}{1}","I'm ","Slim ").
NightElfik

1
Baris baru berakhir tampaknya tidak menjadi keharusan, jadi pertimbangkan menggunakan .Write()bukan .WriteLine(). Bahkan jika itu diperlukan, .Write()dengan \nlebih pendek.
Bob

terima kasih @ Bob telah menyelamatkan saya 4 bye lagi! bahkan pada jawaban VB saya juga!
Maleakhi

Anda tidak memiliki modal P di Please Stand up dua kali
IEatBagels

@ TopFrassi, saya memperbaikinya pada jawaban ini dan pada jawaban VB saya juga. Saya juga kehilangan ruang. Saya bertanya tentang jalur baru dalam output sekarang ...
Maleakhi

5

VB 253 249 245 241 244 285 259 223

Saya benci pemutusan Jalur Baru

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

Sekarang dengan Kapitalisasi yang Tepat dan Baris Baru di output, dan tanpa Tab *

Terima kasih VB untuk vbCrLf

Terima kasih, @Taylor Scott!


Saya ingin tahu apakah ini akan berjalan tanpa tab dan baris baru ?????
Maleakhi

itu tidak akan membiarkan saya di Visual Studio 2013
Maleakhi


1
@TaylorScott, tampaknya itu akan memungkinkan Anda untuk kode tanpa lekukan sekarang. atau mungkin itu hanya Mono untukmu
Maleakhi

Sejauh yang saya ketahui, ya, apa yang dapat diurai oleh kompiler sangat bergantung pada versi apa yang Anda gunakan - terutama kembali ke VB 6.0 dan sebelumnya
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
Implementasi yang sangat bagus
Maleakhi

Terima kasih Maleakhi, tidak dapat melewatkan golf ini sebagai penggemar lama Eminem.
Alex

Saya sedang mengerjakan satu sekarang.
Maleakhi

2
Sangat menyenangkan melihat seseorang bermain golf di VBA. Tidak bisakah Anda mencetak ke jendela langsung dengan ??
RubberDuck

1
@ ckuhn203 "?" perubahan ke 'cetak' tetapi saya perlu debug.print sehingga mengacaukan setiap kali saya menggunakan "?". Silakan tunjukkan jika saya bisa melakukannya di sini, terima kasih!
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,".")

Tidak digabungkan & diperluas beberapa

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 byte

Tidak sesingkat jawaban ossifrage yang mudah tersinggung , tetapi saya ingin membagikan CamelCaseCompression, yang tidak digunakan orang lain dan memungkinkan penghapusan banyak spasi dan tanda kutip.

Namun memang dibutuhkan teks yang sedikit lebih panjang untuk menjadi benar-benar bermanfaat.

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

Sunting: Mengikuti saran Thaylon, s/(\S)([A-Z])/\1 \L\2/gpergantian telah dipersingkat oleh empat karakter. Itu tidak mengambil digraf koma-kapital, jadi, ruang tambahan harus dimasukkan sebelum "tidak akan".


Menarik. Sedikit lebih pendek dengan "bukan batas kata": s / \ B ([AZ]) / \ L \ 1 / g;
Thaylon

Terima kasih @Thaylon. \ B adalah sesuatu yang harus saya baca. Itu aneh.
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+'.'

pindah pleaseke holding variabel stand updan singkirkan gvariabel Anda , dan mungkin hapus /nAnda tidak membutuhkannya
Maleakhi

Jika saya menghapus \ n baris baru akan hilang, dan saya menganggap itu diperlukan untuk 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$"."

Saya Slim Shady. Ya, 3 yang asli 3.

Yang lainnya hanyalah meniru.

Jadi bukankah 533 tolong berdiri?

P1. P1.


3

Karat (program penuh), 183 180 178 173 172 byte

178 -> 173 byte, terima kasih kepada 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")}

Cobalah online!



@SaraJ Ofc, jelas! Terima kasih :)
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 ");}}

Anda melewatkan beberapa tempat di mana Anda dapat menghapus banyak karakter, periksa milikku. codegolf.stackexchange.com/a/35557/9435
Maleakhi

2

Jawa, 308 301 298 292 258

Java sedikit bertele-tele, tapi ini adalah percobaan saya:

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
Anda dapat 1-gabungkan 'nyata' dan 'itu', mereka selalu bersama 2-pindahkan beberapa kosong dari string format besar 3-di atas semua: menggunakan lebih banyak variabel tunggal, array tidak ada gunanya. Semua dalam semua, Anda dapat pergi ke ~ 270
edc65

@ edc65 Saya tidak tahu bahwa saya bisa mendeklarasikan beberapa string di Java tanpa menulis Stringbeberapa kali. Itu sebabnya saya memiliki array untuk semua kecuali satu variabel. Terima kasih banyak atas petunjuknya.
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

Ruby: 211

Yang ini mengesankan karena hanya mencetak teks lebih efisien, tetapi ini cara yang lebih keren.

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

2

JavaScript 259 240 238 byte

Tidak terlalu bagus tapi mungkin juga mengirim jawaban.

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 yang lebih mudah dibaca:

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 yang lebih mudah dibaca dengan jeda baris:

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

Dan bermain 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.";
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.