The Real Slim Shady


43

Echo ต่อไปนี้เป็นไบต์น้อยที่สุด:

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.

ต่อไปนี้ห้าคำต้องปรากฏเพียงแห่งเดียวในรหัสของคุณ:

I'm
Slim
Shady
real
stand


32
ตอนนี้เพลงโง่ที่อยู่ในหัวของฉัน
Darth Egregious

มันโอเคไหมถ้าโปรแกรมส่งออกมากกว่าข้อความเต็ม? กล่าวคือ ใส่เนื้อร้องใน parens
Sylwester

@Sylwester ตราบใดที่มันเป็นไปตามกฎคุณสามารถเขียนโค้ดตามที่คุณต้องการ
rybo111

นี่คือความซับซ้อนของ kolmogorovจริงเหรอ? เป็นความจริงที่โปรแกรมใด ๆ ที่มีเอาต์พุตที่ถูกต้องตามขอบเขตของความซับซ้อนของ Kolmogorov ด้านบน แต่ข้อ จำกัด เพิ่มเติมนั้นดูเหมือนว่าจะบังคับให้โปรแกรมที่ไม่เหมาะสมที่สุด
Peter Taylor

@PeterTaylor คุณอาจพูดถูก - ฉันจะฝากไว้กับชุมชนเพื่อแก้ไขหรือไม่
rybo111

คำตอบ:


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

โดยธรรมชาติแล้วความคิดเช่นเดียวกับโซลูชันการบีบอัดอื่น ๆ (แม้ว่าจะได้มาโดยอิสระ)


1
ฉันลดระดับลงอย่างผิดพลาด ขอโทษ (หากคุณทำการเปลี่ยนแปลงใด ๆ ฉันคิดว่าฉันสามารถลบ downvote)
edc65

@ edc65: ขอบคุณสำหรับความซื่อสัตย์สุจริต :) ฉันแก้ไขคำตอบ
nneonneo

คุณสามารถลบทิ้งได้ 3 ไบต์เพียงแค่นำช่องว่างมาใช้ซ้ำ 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 ไบต์

สนุก...

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

รูลูปมาตรฐาน


ไม่รวมห้าคำ
nwp

6
อาจเลื่อนไปทางขวา แต่ฉันจะแก้ไขโพสต์เพื่อที่คุณจะได้ไม่เกินไป ...
Joshpbarron

ฉันเลื่อน แต่ก็พลาดคำขอโทษ
nwp

ตอนนี้มันชัดเจน!
edc65

1
ฉันมากับตัวละครปี 1918ฉันไม่ทราบว่าตัวละครเหล่านี้อยู่นอกบรรทัดฐานที่พวกเขาจะต้องเพิ่มจำนวนไบต์ ฉันยังไม่รู้วิธีนับไบต์อีกวิธีหนึ่งดังนั้นฉันจะบอกว่า 2461
มาลาคี

17

Perl, 155

ด้วยการปรับปรุงโดยMartin Büttnerและ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คำแนะนำที่ดีเยี่ยม ขอบคุณ :-)
squeamish ossifrage

คุณสามารถละเว้นล่าสุด เกินไป.
Thaylon

2
รักส่วน "All you Other 1s"
William Barbosa

เลื่อนไปรอบ ๆ "" สำหรับ 157: $ _ = "01. ใช่ 032 ทั้งหมดคุณ other1s กำลังเลียนแบบดังนั้นจะไม่ 31 p4 หรือไม่ P4. P4."; s / 0 / ฉัน / g; s / 1 / Slim2 / g; s / 2 / Shady / g; s / 3 / ของจริง / g; s / 4 / สัญญาเช่าลุกขึ้นยืน / g พิมพ์
Thaylon

เหมืองแร่ที่คล้ายกันมากในขณะนี้และฉันในภายหลังดังนั้นฉันเพียงแค่ลบ คุณสามารถรับ 2 Byte อีกด้วย: $ _ = "01. ใช่, 02X. คุณ other1s เพียงแค่เลียนแบบดังนั้นจะไม่ 21 p3 หรือไม่ P3. P3."; s / \ d / ("ฉัน", "SlimX", "ของจริง", "สัญญาเช่ายืนขึ้น") [$ &] / ge; s / X / Shady / g; พิมพ์
Thaylon

12

Ruby, 154 ไบต์

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

หลังจากช่วยคนสองสามคนเกี่ยวกับวิธีแยกสตริงฟิลเลอร์ฉันตัดสินใจที่จะเปลี่ยนแนวคิดการโทรกลับ ;)


1
คุณสามารถบันทึกตัวอักษร: #{h+a}สั้นกว่า"+h+a+"และสั้นกว่า#{d+h+a} "+d+h+a+"
ProgramFOX

1
@ProgramFOX oO ... ฉันละอายใจที่จะบอกว่าผมเพียง #{h}#{a}แต่คิดว่า
Martin Ender

สามารถบันทึกอีกไม่กี่ด้วยh=" Slim"+a=" Shady"และหนึ่งโดยการแทนที่ด้วยputs $><<
ประวัติศาสตร์

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

@Ventero ขอบคุณ! :)
Martin Ender

9

JavaScript (E6) 165

เหมือนกันในภาษาอื่น

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

คำอธิบาย: แทนที่แต่ละหลักเดียวในสตริงแรกด้วยสตริงที่สอดคล้องกันในอาร์เรย์ ["I'm"," Slim"," Shady","real","lease stand up"," the ",".\n"]

แก้ไขด้วยกฎใหม่ที่นี่ที่ PPCG (ผลลัพธ์ที่ส่งคืนจากฟังก์ชันไม่มีข้อ จำกัด เกี่ยวกับคุณลักษณะใหม่กว่าความท้าทาย) นี่อาจเป็น 158 ดูตัวอย่าง

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
ฉันชอบมันมาก
john Smith

การใช้งานที่ดี :) คุณสามารถบันทึกไบต์โดยใช้เทมเพลตตัวอักษรในreplaceฟังก์ชันและแทนที่\nด้วยการขึ้นบรรทัดใหม่จริง
Shaggy

@Shaggy ฉันสามารถทำได้ดีกว่าด้วยตัวอักษรแม่แบบ แต่พวกเขาไม่ได้ใช้งานในเบราว์เซอร์ใด ๆ ในเวลา (ส.ค. 2014)
edc65

อ่าฉันเข้าใจแล้ว นั่นทำให้คำตอบของฉันไม่ถูกต้องดังนั้นเมื่อเห็นว่าเป็นคำถามนี้ถูกโพสต์ก่อนหน้าข้อกำหนดที่กำหนดตัวอักษรเทมเพลตนั้นเป็นมาตรฐานหรือไม่
Shaggy

1
@JacobPersi ได้ดู
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,{`/\*}/

ลองที่http://cjam.aditsu.net/

ฉันคิดว่ามันใช้งานได้ใน GolfScript ถ้าคุณแทนที่'|ด้วย"|"


7
อีกสามสิบเอ็ดคุณแค่เลียนแบบ ดังนั้นจะไม่ฉี่ ze-ro หนึ่งสามสอง พี่ซีโร พี่ซีโร นั่นเป็นวิธีที่ฉันจะฟังในหัวต่อจากนี้ : P
Dennis

6

GolfScript, 162 154 152 144 ไบต์

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

ทดสอบออนไลน์


3
คุณสามารถบันทึก 8 ไบต์ด้วยการแทนที่\nและnด้วย linefeeds จริงและเลือกชื่อตัวแปรที่ไม่ใช่ตัวอักษรและตัวเลข (เช่น&) เพื่อกำจัดช่องว่างรอบตัว
เดนนิส

@ เดนนิสขอบคุณมาก! ฉันแก้ไขคำตอบของฉัน
ProgramFOX


5

VBA 307 ไบต์

และสับสนกับตัวแยกบรรทัด (เพื่อความสนุกสนาน) ตามคำตอบนี้

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

?pเรียกว่าจากหน้าต่างทันทีที่มี

307 ?pรวมถึง


1
โอ้ใช่ไหม P ในหน้าต่างทันทีที่ฉันเห็น +1
อเล็กซ์

คุณควรกำจัดa = "."ฉันคิดว่าคุณสามารถกำจัดBytes ไม่กี่
มาลาคี

ที่จริงแล้วในความคิดที่สองฉันคิดว่ามันอ่านง่ายขึ้นด้วยตัวคั่นบรรทัดและบรรทัดใหม่ ...
RubberDuck

คุณไม่สามารถกำจัดช่องว่างระหว่างตัวดำเนินการได้หรือไม่
มาลาคี

1
@ Malachi ตามสเป็คใช่ แต่การใช้งานจริงบังคับให้ช่องว่างบนคุณ ถ้าฉันทำมันใน VBScript ฉันก็อาจย่อให้สั้นลงได้
RubberDuck

5

PHP - 151 ไบต์

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

คำตอบอื่นโดยไม่ใช้ gzinflate (228 ไบต์):

อ่านกางเกงขาสั้น (16 บิต) แยกจำนวนเต็ม 5 5 บิตเป็นดัชนีของตารางการค้นหา

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

โดยย้ายหน่วยความจำ

ไม่ใช่สั้นที่สุด แต่จะเร็วขึ้นหรือไม่

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

มันยาว 374 ตัวอักษรหลังจากการลดขนาด

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

ดี แต่คุณสามารถตีกอล์ฟได้ถึง 278 ไบต์: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

กอล์ฟรหัสแรกของฉันในขณะที่เรียนรู้ Java โพสต์มันเพราะมันจะเต้นรายการ Java อื่น ๆ (ทำงานได้อย่างสมบูรณ์) และรายการ 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");}}

ขณะนี้มีตัวพิมพ์ใหญ่และบรรทัดใหม่ที่เหมาะสม


1
WriteLine("{0}{1}","I'm ","Slim ")คุณอาจจะสามารถบันทึกตัวอักษรบางมากขึ้นโดยการย้ายช่องว่างจากสตริงรูปแบบที่จะเปลี่ยนเช่น
NightElfik

1
ขึ้นบรรทัดใหม่สิ้นสุดไม่ได้ดูเหมือนจะเป็นความต้องการเพื่อให้พิจารณาใช้แทน.Write() .WriteLine()แม้ว่ามันจะต้องใช้.Write()กับ a \nจะสั้นกว่า
บ๊อบ

ขอบคุณ @Bob ที่ช่วยฉันอีก 4 ไบต์! แม้แต่คำตอบ VB ของฉันก็เช่นกัน!
มาลาคี

คุณไม่มีทุนของ P บน Please Stand up สองครั้ง
IEatBagels

@TopinFrassi ฉันแก้ไขในคำตอบนี้และคำตอบ VB ของฉันด้วย ฉันยังขาดช่องว่าง ฉันถามเกี่ยวกับสายใหม่ในการส่งออกในขณะนี้ ...
มาลาคี

5

VB 253 249 245 241 244 285 259 223

ฉันเกลียดการยกเลิกไลน์ใหม่

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

ขณะนี้มีตัวพิมพ์ใหญ่และบรรทัดใหม่ในผลลัพธ์และไม่มีแท็บ *

ขอบคุณ VB สำหรับ vbCrLf

ขอบคุณ @Taylor Scott!


ฉันสงสัยว่าสิ่งนี้จะทำงานโดยไม่มีแท็บและบรรทัดใหม่หรือไม่ ?????
มาลาคี

มันจะไม่ให้ฉันใน Visual Studio 2013
Malachi


1
@TaylorScott ดูเหมือนจะอนุญาตให้คุณใช้รหัสโดยไม่มีการเยื้องในขณะนี้ หรือบางทีนั่นอาจเป็นแค่ Mono สำหรับคุณ
Malachi

เท่าที่ฉันทราบอยู่แล้วสิ่งที่คอมไพเลอร์สามารถแยกวิเคราะห์ได้นั้นขึ้นอยู่กับเวอร์ชันที่คุณใช้โดยเฉพาะอย่างยิ่งกลับไปที่ VB 6.0 และก่อนหน้านี้
Taylor Scott

4

VBA 343 ไบต์

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
การใช้งานที่ดีมาก
มาลาคี

ขอบคุณมาลาคีไม่สามารถข้ามกอล์ฟนี้ในฐานะแฟนเก่าของ Eminem
อเล็กซ์

ฉันกำลังทำงานอย่างใดอย่างหนึ่งในขณะนี้
มาลาคี

2
เป็นเรื่องดีที่ได้เห็นคนเล่นกอล์ฟใน VBA คุณไม่สามารถพิมพ์ไปที่หน้าต่างทันทีด้วย?หรือไม่?
RubberDuck

1
@ ckuhn203 "?" การเปลี่ยนแปลงเป็น 'พิมพ์' แต่ฉันจะต้อง debug.print ดังนั้นมันจะขึ้นทุกครั้งที่ฉันใช้ "?" รู้สึกอิสระที่จะชี้ให้เห็นถ้าฉันสามารถทำได้ที่นี่ขอบคุณ!
อเล็กซ์

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"

อย่างใดคำตอบของฉัน ened up คล้ายกับ@ nneonneoมากแม้ว่ามันจะไม่ใช่ความตั้งใจดั้งเดิมของฉัน ...



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

ลัวะ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 & ขยายบางส่วน

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

เสียงกระเพื่อมสามัญ, 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ไบต์

ไม่สั้นเท่าคำตอบของ ossifrage คลื่นไส้แต่ฉันต้องการแบ่งปัน CamelCaseCompression ซึ่งไม่มีใครใช้แล้วและอนุญาตให้ลบช่องว่างและเครื่องหมายคำพูดได้หลายรายการ

แม้ว่าจะต้องใช้ข้อความที่ยาวขึ้นไปอีกเล็กน้อยเพื่อให้เป็นประโยชน์อย่างแท้จริง

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

แก้ไข: ทำตามคำแนะนำของ Thaylon การs/(\S)([A-Z])/\1 \L\2/gเปลี่ยนตัวถูกทำให้สั้นลงโดยตัวละครสี่ตัว แต่นั่นไม่ได้มาจากการขุดด้วยเครื่องหมายจุลภาคดังนั้นต้องเพิ่มพื้นที่พิเศษก่อนที่จะ "ไม่"


น่าสนใจ ค่อนข้างสั้นด้วย "ไม่ใช่ขอบเขตของคำ": s / \ B ([AZ]) / \ L \ 1 / g;
Thaylon

ขอบคุณ @Thlonlon \ B เป็นสิ่งที่ฉันต้องอ่าน มันเป็นเรื่องแปลก.
comperendinous

3

PYTHON: 198 193 ไบต์

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

ย้ายpleaseไปที่ตัวแปรที่ถือครองstand upและกำจัดgตัวแปรของคุณและอาจลบ/nคุณไม่ต้องการพวกเขา
มาลาคี

หากฉันลบ \ n บรรทัดใหม่จะหายไปและฉันคิดว่าสิ่งเหล่านี้จำเป็นสำหรับการส่งออก
RageCage

3

Golfscript - 140 (ทวีต)

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

ฉันผอมเพรียว ใช่ 3 ของจริง 3

62s อื่น ๆ ทั้งหมดของคุณกำลังเลียนแบบ

ดังนั้น 533 จะไม่ได้โปรดยืนขึ้น?

P1 P1



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

คุณพลาดจุดที่คุณสามารถลบอักขระจำนวนหนึ่งลองดูสิ codegolf.stackexchange.com/a/35557/9435
Malachi

2

ชวา 308 301 298 292 258

Java เป็น verbose เล็กน้อย แต่นี่คือความพยายามของฉัน:

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
คุณสามารถรวม 1 'ของจริง' และ 'พวก' พวกเขาอยู่ด้วยกันเสมอ 2 ย้ายช่องว่างบางส่วนออกจากสตริงรูปแบบขนาดใหญ่ 3 เหนือสิ่งอื่นใด: ใช้ตัวแปรเดียวมากขึ้นอาร์เรย์ไม่ได้ใช้งาน ทั้งหมดคุณสามารถไปที่ ~ 270
edc65

@ edc65 ฉันไม่ทราบว่าฉันสามารถประกาศหลายสตริงใน Java โดยไม่ต้องเขียนStringหลายครั้ง นั่นเป็นเหตุผลที่ฉันมีอาร์เรย์สำหรับทุกคนยกเว้นตัวแปรหนึ่งตัว ขอบคุณมากสำหรับคำแนะนำ
ทิม

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

ทับทิม: 211

อันนี้น่าประทับใจเนื่องจากการพิมพ์ข้อความนั้นมีประสิทธิภาพมากกว่า แต่ก็ดูเท่กว่านี้

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

2

JavaScript 259 240 238 ไบต์

ไม่ค่อยดีเท่าไหร่ แต่อาจโพสต์คำตอบด้วยเช่นกัน

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

รุ่นที่อ่านเพิ่มเติมได้:

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

รุ่นที่อ่านได้มากขึ้นพร้อมตัวแบ่งบรรทัด:

[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

PHP, 179 ไบต์

<?
$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="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.";
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.