Справжня струнка тінь


43

Виконайте наступне в якомога менше байтах:

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
Тепер ця дурна пісня у мене в голові.
Дарт Егрегійний

Чи добре, якщо програма виводить більше повного тексту? Тобто укладання лірики в паренах.
Сільвестер

@Sylwester Поки він дотримується правил, ви можете кодувати його, як хочете.
rybo111

Це справді колгогоров-складність ? Це правда, що будь-яка програма, що має правильний вихід, обмежує складність Колмогорова вище, але, здається, додаткове обмеження може викликати неоптимальну програму.
Пітер Тейлор

@PeterTaylor ти можеш мати рацію - я залишу це співтовариство для редагування чи ні.
rybo111

Відповіді:


28

Пітон: 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
Я помилково заборонив цьому. Вибачте. (Якщо ви внесете якісь зміни, я думаю, що я можу зняти голосування)
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 символів, я не знаю, що жоден із цих символів знаходиться поза межами норми, де вони би торкнулися зайвих байтів. Ще не знаю іншого способу підрахунку байтів, тому я б сказав 1918
Малахій

17

Перл, 155

З удосконаленнями Мартіна Бюттнера та Тайлона :

$_="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 Відмінні пропозиції. Спасибі :-)
пискливий ossifrage

Можна опустити останнє; теж.
Тайлон

2
Полюбіть частину "Всі ви інші 1"
Вільям Барбоса

Переміщення навколо "" на 157: $ _ = "01. Так, 032. Усі ви, інші1, просто імітуєте. Отже, не буде31 p4? P4. P4."; S / 0 / I / g; s / 1 / Slim2 / g; s / 2 / Shady / g; s / 3 / real / g; s / 4 / орендувати встати / g; print
Thaylon

Міни настільки схожі зараз, і я був пізніше, тому я просто видаляю його. Ви можете отримати ще 2 байти за допомогою: $ _ = "01. Так, 02X. Усі, хто ви інші1, просто імітуєте. Отже, не буде21 p3? P3. P3."; S / \ d / ("Я", "SlimX", "справжній", "договір оренди") [$ &] / ge; s / X / Shady / g; print
Thaylon

12

Рубін, 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}.
Мартін Ендер

Можна зберегти ще кілька за допомогою h=" Slim"+a=" Shady", а один - замінивши puts на $><<.
гістократ

154 с.gsub(/\d/){%W{I'm \ Slim \ Shady \ the\ real lease\ stand\ up}[$&.hex]}
Вентеро

@ Вентеро дякую! :)
Мартін Ендер

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
божевільне лайно, мені це подобається
Джон Сміт

Приємна реалізація :) Байт можна зберегти, використовуючи буквений шаблон у replaceфункції та замінивши \nфактичний новий рядок.
Кудлатий

@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
Усі ви, тридцять два, просто наслідуєте. Так, чи не буде один три два пі-зе-ро? Пі-зе-ро. Пі-зе-ро. Ось так це буде звучати в моїй голові відтепер. : P
Денніс

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актуальною пробільним символам і вибирають імена не буквено-цифрових змінних (наприклад, &) , щоб усунути прогалини навколо них.
Денніс

@Dennis Дякую велике! Я відредагував свою відповідь.
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
О,? Р у прямому вікні, я бачу, +1
Олексій

ви повинні позбутися, a = "."я думаю, ви могли б поголити кілька байтів
Малахій,

На насправді, на другий думки, я думаю , що це більш читається з лінією проти нового сепаратора забезпечує лінію ...
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 біт), витягує 3 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

С, 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);}
Йохан дю Тойт

5

Ява, 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()з \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

Тепер із належною капіталізацією та новими рядками у виході та відсутністю вкладок *

Дякую В.Б. за vbCrLf

Дякую, @Taylor Scott!


Цікаво, чи це буде працювати без вкладок і нових рядків ?????
Малахій

це не дозволить мені у Visual Studio 2013
Малахій


1
@TaylorScott, мабуть, це дозволить вам кодувати його без відступів зараз. а може, це просто Моно для вас
Малахій

Наскільки мені відомо, так, те, що компілятор може проаналізувати, сильно залежить від того, на якій версії ви перебуваєте - особливо, повернувшись до VB 6.0 та попереднього
Тейлор Скотт

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
Дуже приємна реалізація
Малахій

Дякую Малачі, не можу пропустити цей гольф, як давні шанувальники Емінема.
Олексій

Я зараз працюю над одним.
Малахій

2
Чудово бачити когось, хто займається гольфом у VBA. Чи не можете ви друкувати до прямого вікна за допомогою ??
RubberDuck

1
@ ckuhn203 "?" зміни в 'print', але мені знадобиться debug.print, щоб він викручувався щоразу, коли я використовую "?". Не соромтесь зазначити, чи можу я це зробити тут, дякую!
Олексій


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 байт

Не настільки коротка, як кричуща відповідь косини , але я хотів поділитися 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

Редагувати: За пропозицією Тайлона, s/(\S)([A-Z])/\1 \L\2/gзаміна була скорочена на чотири символи. Це не сприймає на діаграмах з великої літери комами, тому потрібно було вставити додатковий пробіл до "не".


Цікаво. Трохи коротше з "не межею слова": s / \ B ([AZ]) / \ L \ 1 / g;
Тайлон

Дякую @Thaylon \ B - це те, про що я мушу прочитати. Це дивно.
змагальний

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

Гольфскрипт - 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.

Всі ви, інші 62-ті, просто наслідуєте.

Тож чи не буде 533, будь ласка, встати?

Р1. Р1.



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
Малахій

2

Java, 308 301 298 292 258

Java трохи дослідна, але ось моя спроба:

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
Ви можете об'єднати "реальні" і "ті", вони завжди разом 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

JavaScript (ES6), 165 163 байт

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 байт

<?
$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.";
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.