Уникайте унікальних символів


23

Це дуже просто: Ваша програма або функція повинна генерувати наступний текст:

Elizabeth obnoxiously quoted (just too rowdy for my peace): "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG," giving me a look.

Дрібний друк

Ви можете написати програму або функцію , яка повертає результат у вигляді рядка або друкує його до STDOUT (або найближчої альтернативи). Ви можете необов'язково включати в висновок один зворотний новий рядок.

Оцінка балів

Кількість байтів у вашому коді, помножене на кількість унікальних байтів у вашому коді

Виграє найнижчий рахунок.

Наприклад, відповідь на відмову або пробіл матиме тут величезну перевагу, оскільки множник буде дуже низьким (8 та 3 відповідно). Однак, як правило, написання програм цими мовами створює набагато довший код, який може заперечувати цю перевагу.

Стандартні лазівки, які вже не є смішними , заборонені .


Я припускаю, що корпус повинен бути точним?
EnragedTanker

@crayzeedude так, ось такий сенс
durron597

Добре. Просто уточнююча. : p
EnragedTanker

1
@CarpetPython Про це в пісочниці були дебати, і, врешті-решт, я вирішив, що НЕ СПОМОЖИТИ іСТОРИЙ рівень гри. Зауважте, що білі простори та безсоння все одно мають найвищі оцінки!
durron597

2
Як я десь писав, якщо припустити, що використання більшої кількості байтів для компенсації менш унікальних символів поводиться аналогічно перетворенню чисел у різні бази, то приблизно bytecount~Log(X,unique), з X деякою постійною для цієї проблеми. Таким чином унікальний ^ bytecount ~ константа. Обчислення цієї оцінки (log2) дає python2_mbomb007 728, python2_carpetpython 744, ruby 756, Fish 825, Insomnia 1148, cjam 1277, whitespace 1484, brainfuck 3546. Тож, за винятком мозгової відповіді, вона є відносно постійною ...
blutorange

Відповіді:


7

Безсоння , 575 байт * 4 = 2300

dyedd=dyyyye=d=yd=dddde=ded=deey=eyy=de=edd=eydyee=yeyy=yey==ddyee=eydee=y=eyeedd=dde=yddd=eede=yedde=eeyd==yeyy=yyddy=eyy=dy=dddye=dyey=ede=yddd=dde=de=yyye=yyye=ddyyy=dyy=yeyddy=eyyyde=eed=ddd=yd=edyyd=eeydd=yedd=eye=eee=eeyy=yyyedde=d=eyyyedy=d=yddyye==dyyede=ddd=eydd=yd=ddde==eeeeyy=yeyd=deyy=yyy=ydy=dy=dd=e=ey=dddddy=yeey=ey=eed=ddd=eedy=ddddde=ydeyy=edd=ydy=ddy=yeedd=ydde=dde=edyye=ded=yeed=dddddde=eedy=eyde=ydy=ydydd=eyydd=dd=dddd=ddyye=ydeey=ed=eeeye=y=ydydde=eyyd=eyee=dy=edeyed=dyed==eyyddey=dd=yddd=yddd=de=ddedy=eyydd=eeedy==eyyydeee=d=d=eydd=yey=dyy==yyyedy=

Використовує 4 символи dye=.

Рішення 1b (неопубліковано): 783 байт * 3 = 2349

eeeeyeeyy=eeyy=yeyye=yyyeeyye=eeeye=yeyey=eyeyyy=eyy=eeyeye=yeyeyyy=yyeeye=yeyy=yey==yyeyeyeye=eyyey=y=yyyyyy=y=eyyeyyyyyyye=eeye=yyeeyye=eyeyeyyy==yeyy=yeyyyeyye=yyyeeyy==eeyyeee==eeyye=yyyyeyyeyyye=yyyyyyy=yeye=eyyyyy=eeye=eeyeeeeey=eyeye=eeee=yeyyye=eyyyyye=y=eeeyyy=eyyeyee=yyy=eyye=yeyeeee=yyeyeyyyy=eeyy=yyyyy=eyyyy=yyeeyye=e=eyyyyy=eyey==eyeyy=yyyyyeyeyeye=ye=yyyyyy==eeeeyy=yeye=yeyyey=yyy=eyyyeeeye==yeeyyeyy=e==yeeeyyyeyy=yeey=ey=eee=eyeyy=yyeeee=yeeyyyyy=yee=yeyyy=yeeeeyy=eyeeeeeye=eeeyy=yyeeeeyyye=yey=yyyyeeyye=yyyyyyy=yeee=eeeeyyeye=eyeeye=eeyyeyyy=eeyee=yyyyyeeyy=eee=eeyyeyyyyy=eeey=eyyeeyy=eyyeyyy=eeeeyeee=eeeye=y=yyyeyy=yyeeee=yyeyey=ey=eyyyyyeyyy=yeye==yeeyyyeyy=yeye=yyyyeeyy=eeeyyeeyyy=yeeyeyyy=eeyye=eee=eyyye==eyeyeyyyyy=e=eeyeeye=yeey=eyeyy=eyeye=ey=eyyeye=

Використовується лише 3 символи ey=.

Рішення 1: 826 байт * 3 = 2478

yoyoy~oyoyo~oyooyy~ooyyoyy~ooyyyyoy~~yoyyo~ooyoooyooo~yoyyo~oyoyoyyy~yyo~oyyoo~~ooooy~oyyyyy~oyoyoo~~oyyyoooyy~~oyoyooyyy~yyooo~yoyo~yoyyyyo~yooyo~y~yyoyyyooyy~oyyooy~ooyoy~oyyooy~ooyyo~yoyyoo~o~ooyo~yooyyoo~yoyoy~ooyyyyooo~oyoyyo~yyoyyyoo~yyo~yyooyyo~yoyyoooy~~yoyyyooyoyy~oyoyyy~yoooyyoy~yooyy~yooyyo~yyooyyoo~oyoyo~oyyy~oyyo~oyyoyo~oyyyoo~oyoyyoo~yooyo~ooooo~~yoyyoyyoyoo~yoyyooo~y~ooooy~yyyoy~ooooyyoyyoy~oyyoo~oyyoyo~yoyyyooy~oyooo~yoyyoyy~yyyyyo~oyooy~oyoyy~yoyyyoy~ooyoy~yoyyoooy~~oyyyo~ooooooy~yooyoyyoyo~yooyyo~oooyyo~yoyooyyo~oyyy~o~yooooy~oyoyyooooy~~yoyyooyyo~oy~yyyoyyyyy~yoyyyoy~yooo~oooy~oooooyyoyyyo~yoyyo~y~oooyyyoyoo~yyooooyoyy~y~oooyyyoy~~yoy~oyyoyoyyy~yoyyyyy~oyooo~yyyyooo~yooyyoy~yooyo~yoyyyo~yyoyyyo~o~ooooooyoy~oyoyyoy~yyoooo~ooooyy~oyoyoy~ooyyo~yyoooyo~yyyyyo~oyyo~yooyyooyyoy~~ooyyyyoyyy~ooyyo~yyooo~

Тільки використовує 3 -х символів: yo~. Для створення цього використовується програма.

Наразі всі програми використовують лише інструкції 0, 1, 2, 6. Іншими словами, вони маніпулюють бітами в один байт і роздруковують результат.


19

CJam, 266 281 456 байт * 14 12 7 унікальний = 3724 3372 3192

Спробуйте в Інтернеті.

14301201124204202034420112034224204431020210101232301021240204310431312122132100240400222324402030223103420431324402222132223233141443401210314023001122320404112224314302132421403301243334313000011124244441400003310332301330220022110121411122100040310110020040121444302100143202204330334033211334242120304123121024200421121232100303121022431044444423243331440434010014400~~10~~100~~1~43c~c~4~~41c~100~~1~43c~c~123~~100~~1~43c~c~44~~14~~43c~c100~~40c~c43c~~

Пояснення

Я використовував стратегію, щоб розглядати кожен символ у рядку як базовий-123 цифру і кодувати це як десятковий номер у програмі. Потім програма перетворює це число назад в базу 123 і відображає кожну цифру бази-123 назад до символу. Оскільки важко пояснити, чому програма перебуває в її нинішньому стані, я поясню кожну її версію.

Ось як виглядав кінець програми у першій версії:

...2068438725 123b:c

Це реалізує стратегію найпростішим можливим способом. Число, кодоване зазвичай в базі 10, перетворюється назад в базу 123, і кожна цифра базового 123 відображається назад до символу. Але для цього використовуються 4 унікальні нецифрові символи, і можливість позбутися будь-якого з них, швидше за все, буде вартим удару за розміром через необхідність використання менш прямого коду.

По-перше, я зрозумів, що можу позбутися операторів bта :операторів, створюючи їх під час виконання, оскільки їхні значення символів ASCII перетворюються назад на символ (з уже наявним cоператором) та оцінюють їх з ~оператором. Зробити це з :оператором виявилося трохи хитро , оскільки його треба розібрати разом із наступним cоператором. Я вирішив це, створивши символи, :а cпотім створивши та оцінивши характер +, який об'єднує попередні два символи в рядок, :cякий потім може бути оцінений належним чином.

По-друге, я зрозумів, що ~оператор, який я щойно представив, мав зручний новий перевантажений варіант: коли йому дано число, він створює побітне доповнення. Використовуючи це двічі поспіль після числа, я міг би ввести токеновий перерву у джерелі без результативного обчислювального ефекту, що дозволить мені замінити пробіли, які використовуються для розділення чисел ~~.

Кінцевий результат - це ще 15 байт коду в кінці, але ця вартість значно переважає за рахунок вилучення двох унікальних символів з 14. Ось порівняння кінця першої версії з кінцем другої версії:

...2068438725  123[ b  ][   :c    ]
...2068438725~~123~~98c~58c99c43c~~

Використовувати менше двох операторів, якими я користувався, було б неможливо, але я все ж хотів менше унікальних символів. Тож наступним кроком було усунення цифр. Змінивши кодування числа таким чином, щоб кожна десяткова цифра була дійсно базовою 5 цифрою, я міг потенційно усунути цифри 6-9. Перш ніж усунути що-небудь із кінця пргораму, це виглядало приблизно так:

...4010014400 10b5b123b:c

Як було сказано раніше, усунути простір досить просто. Але b, :і cне було б так легко, так як їх коди символів 98, 58і 99, відповідно. Усі ці цифри містили позначення для усунення, тому мені довелося знайти способи їх виведення. І єдиними корисними числовими операторами зі знаками символів, що не містять 5-9, були зменшення, збільшення, множення та додавання.

Бо 98я спочатку використовував 100~~40c~40c~, що зменшується 100двічі. Але потім я зрозумів, що можу скористатися ще одним ~оператором, оскільки побітове доповнення дозволяє мені отримувати від’ємні числа, які при додаванні дозволяють мені імітувати віднімання. Тож я потім використав 100~~1~43c~, що додає 100і на -22 байти менше. Бо 58я використав 44~~14~~43c~, що додає 44і 14. А бо 99я використовував 100~~40c~, які декременти 100.

Кінцевий результат досить великий і заплутаний, але вартість значно більшої кількості та коду обробки трохи перевищувала велику користь від усунення 5 унікальних символів з 12. Ось порівняння остаточного кінця програми перед вилученнями і після усунення:

...4010014400  10[      b      ][  5  ][     b     ]123[      b      ][            :c            ]
...4010014400~~10~~100~~1~43c~c~4~~41c~100~~1~43c~c~123~~100~~1~43c~c~44~~14~~43c~c100~~40c~c43c~~

Гаразд, зараз я вражений. Як база 6 цифр, база 7 цифр тощо порівнюється з базовою 5?
durron597

@ Durron597 Вони дійсно не роблять обчислення простіше, так як коди символів операторів мені потрібно , ( 98, 58і 99) по - , як і раніше поза діапазону. А збільшення бази лише зменшує загальний розмір програми на 8-10%, що недостатньо, щоб компенсувати 10-15% бал, отриманий новим унікальним характером. Повторне включення bоператора аналогічно не варто.
Runer112

Візьміть число x і перетворіть його в базу b. Його довжина буде floor(log_b(x)+1), і вона буде містити bрізні символи. Значить рахунок b*floor(log_b(x)+1). x - задана велика кількість, і якщо ви побудуєте це для b, ви знайдете мінімум в b = 3. Тобто довжина трохи зменшується, коли ви використовуєте більш високі бази (log), але розмір набору збільшується лінійно, тому цього не варто. Зробили просту програму пробілів, але вона отримала лише оцінку 4134.
blutorange

@blutorange Вам слід створити програму пробілів. 4134 вистачає другого місця
durron597

16

Пробіл, 1157 937 байт * 3 унікальних = 3471 2811

За популярним запитом (?) Я розміщую рішення пробілу.

Для того, щоб зменшити необхідний код, я жорстко кодував весь рядок як одне двійкове число (7 біт на кожен байт). Простий цикл витягує символів і друкує їх.

Вихідний код на filebin.ca.

ПРИМІТКА: Технічні характеристики дозволяють отримати довільні великі цілі числа , але інтерпретатор Haskell на офіційній сторінці обмежений 20 бітами. Використовуйте, наприклад, цей рубіновий перекладач на github / neprijatelfork / whitespaces.

Сценарій рубіну для створення програми пробілів (l = WHITESPACE, t = TAB, u = NEWLINE, все після // ігнорується, записує у файл prog.h):

str = 'Elizabeth obnoxiously quoted (just too rowdy for my peace): "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG," giving me a look.'

def b2ws(bin)
    bin.chars.map{|x|x=='0' ? "l" : "t"}.join
end
def d2ws(dec,pad=0)
    b2ws(dec.to_s(2).rjust(pad,'0'))
end

bin = str.reverse.chars.map do |x|
    "  " + d2ws(x.getbyte(0),7) + " // char <#{x=="\n" ? "LF" : x}>"
end
data = "lll // pushes string as one large number\n#{bin.join("\n")}\nu"

File.open('prog.h','w') do |fout|
    fout << data << "\n"
    fout << <<-eos

// output string loop
ulllu // label 0

  // extract, print, and remove the last 7 bits of the data
  lul   // dup
  llltlllllllu // push 128
  tltt // mod
  tull  // print as char
  llltlllllllu // push 128
  tltl // div

  // break loop if EOS
  lul   // dup
  utltu // jump to 1 if top of stack is zero

ululu // jump to 0

ulltu // label 1
uuu
    eos
end

Для ілюстрації програма пробілів у читаній для людини формі. Нижче див. Простий скрипт для перетворення його на фактичну програму пробілів.

lll // pushes string as one large number
  ltltttl // char <.>
  ttltltt // char <k>
  ttltttt // char <o>
  ttltttt // char <o>
  ttlttll // char <l>
  ltlllll // char < >
  ttllllt // char <a>
  ltlllll // char < >
  ttlltlt // char <e>
  ttlttlt // char <m>
  ltlllll // char < >
  ttllttt // char <g>
  ttltttl // char <n>
  ttltllt // char <i>
  tttlttl // char <v>
  ttltllt // char <i>
  ttllttt // char <g>
  ltlllll // char < >
  ltllltl // char <">
  ltlttll // char <,>
  tlllttt // char <G>
  tlltttt // char <O>
  tllltll // char <D>
  ltlllll // char < >
  tlttllt // char <Y>
  tlttltl // char <Z>
  tlllllt // char <A>
  tllttll // char <L>
  ltlllll // char < >
  tllltlt // char <E>
  tlltlll // char <H>
  tltltll // char <T>
  ltlllll // char < >
  tltlltl // char <R>
  tllltlt // char <E>
  tltlttl // char <V>
  tlltttt // char <O>
  ltlllll // char < >
  tltlltt // char <S>
  tltllll // char <P>
  tllttlt // char <M>
  tltltlt // char <U>
  tlltltl // char <J>
  ltlllll // char < >
  tlttlll // char <X>
  tlltttt // char <O>
  tlllttl // char <F>
  ltlllll // char < >
  tlltttl // char <N>
  tltlttt // char <W>
  tlltttt // char <O>
  tltlltl // char <R>
  tlllltl // char <B>
  ltlllll // char < >
  tlltltt // char <K>
  tlllltt // char <C>
  tlltllt // char <I>
  tltltlt // char <U>
  tltlllt // char <Q>
  ltlllll // char < >
  tllltlt // char <E>
  tlltlll // char <H>
  tltltll // char <T>
  ltllltl // char <">
  ltlllll // char < >
  ltttltl // char <:>
  ltltllt // char <)>
  ttlltlt // char <e>
  ttllltt // char <c>
  ttllllt // char <a>
  ttlltlt // char <e>
  tttllll // char <p>
  ltlllll // char < >
  ttttllt // char <y>
  ttlttlt // char <m>
  ltlllll // char < >
  tttlltl // char <r>
  ttltttt // char <o>
  ttllttl // char <f>
  ltlllll // char < >
  ttttllt // char <y>
  ttlltll // char <d>
  tttlttt // char <w>
  ttltttt // char <o>
  tttlltl // char <r>
  ltlllll // char < >
  ttltttt // char <o>
  ttltttt // char <o>
  tttltll // char <t>
  ltlllll // char < >
  tttltll // char <t>
  tttlltt // char <s>
  tttltlt // char <u>
  ttltltl // char <j>
  ltltlll // char <(>
  ltlllll // char < >
  ttlltll // char <d>
  ttlltlt // char <e>
  tttltll // char <t>
  ttltttt // char <o>
  tttltlt // char <u>
  tttlllt // char <q>
  ltlllll // char < >
  ttttllt // char <y>
  ttlttll // char <l>
  tttlltt // char <s>
  tttltlt // char <u>
  ttltttt // char <o>
  ttltllt // char <i>
  ttttlll // char <x>
  ttltttt // char <o>
  ttltttl // char <n>
  ttllltl // char <b>
  ttltttt // char <o>
  ltlllll // char < >
  ttltlll // char <h>
  tttltll // char <t>
  ttlltlt // char <e>
  ttllltl // char <b>
  ttllllt // char <a>
  ttttltl // char <z>
  ttltllt // char <i>
  ttlttll // char <l>
  tllltlt // char <E>
u

// output string loop
ulllu // label 0

  // extract, print, and remove the last 7 bits of the data
  lul   // dup
  llltlllllllu // push 128
  tltt // mod
  tull  // print as char
  llltlllllllu // push 128
  tltl // div

  // break loop if EOS
  lul   // dup
  utltu // jump to 1 if top of stack is zero

ululu // jump to 0

ulltu // label 1
uuu

В основному, рядок для виведення - це довге ціле число, і вам потрібно зменшити його бал.

Візьміть число x і перетворіть його в базу b. Його довжина буде floor(log_b(x)+1), і вона буде містити bрізні символи. Значить рахунок b*floor(log_b(x)+1). xце задана велика кількість, і якщо ви задумали це для b, ви знайдете мінімум майже b=3b=2майже так само добре). Тобто довжина трохи зменшується, коли ви використовуєте більш високі бази (log), але розмір набору збільшується лінійно, тому цього не варто.

Таким чином, я шукав мову з лише 0/1, але я не знайшов жодної, і тоді я згадав, що є пробіл, і спробував це. У пробілі можна вводити двійкові числа з 0 та 1 безпосередньо.


Старий код, гірший бал, але цікавіший

Старий код на filebin .

Рубіновий скрипт, який я використовував для створення програми (l = WHITESPACE, t = TAB, u = NEWLINE, все після //ігнорування записується у файл prog.h):

str = 'Elizabeth obnoxiously quoted (just too rowdy for my peace): "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG," giving me a look.' + "\n"

def shift(x)
    (x-97)%128
end

EOS = "lttltl" #26
STACK = []

bin = str.reverse.chars.map do |x|
    byte = shift(x.getbyte(0))
    rf = STACK.index(byte)
    STACK.unshift(byte)

    y = byte.to_s(2).chars.map{|y|y=='0' ? 'l' : 't'}.join
    ph = "lll#{y}u" # pushing directly
    if rf
        bn = rf.to_s(2).chars.map{|y|y=='0' ? 'l' : 't'}.join
        cp = "ltll#{bn}u" # copying from stack
    end

    if STACK.size>0 && STACK[0]==STACK[1]
        "lul // dup #{x.inspect}"
    elsif cp && cp.size < ph.size
        "#{cp} // copy <#{x.inspect}> (from #{rf})"
    else
        "#{ph} // push <#{x.inspect}> (#{shift(x.getbyte(0))})"
    end
end

File.open('prog.h','w') do |fout|
    fout << "ll#{EOS}u // push EOS" << "\n"
    fout << bin.join("\n") << "\n"
    fout << <<-eos
// output string
ullu // label 0
  // add 97 (128) before printing
  lllttlllltu // push 97
  tlll // add
  llltlllllllu // push 128
  tltt // mod
  tull  // print top of stack

  // break loop if EOS
  lul   // dup
  ll#{EOS}u // push EOS
  tllt // subtract
  utltu // jump to 1 if top of stack is zero
uluu // jump to 0

ulltu // label 1
uuu
    eos
end

Для ілюстрації програма пробілів у читаній для людини формі. Нижче див. Простий скрипт для перетворення його на фактичну програму пробілів.

lllttltlu // push EOS
llltltlltu // push <"\n"> (41)
llltllttltu // push <"."> (77)
llltltlu // push <"k"> (10)
llltttlu // push <"o"> (14)
lul // dup "o"
llltlttu // push <"l"> (11)
lllttttttu // push <" "> (63)
llllu // push <"a"> (0)
ltlltu // copy <" "> (from 1)
llltllu // push <"e"> (4)
lllttllu // push <"m"> (12)
ltlltlu // copy <" "> (from 2)
lllttlu // push <"g"> (6)
lllttltu // push <"n"> (13)
llltlllu // push <"i"> (8)
llltltltu // push <"v"> (21)
ltlltu // copy <"i"> (from 1)
lllttlu // push <"g"> (6)
ltllttlu // copy <" "> (from 6)
llltllllltu // push <"\""> (65)
llltlltlttu // push <","> (75)
lllttllttlu // push <"G"> (102)
lllttltttlu // push <"O"> (110)
lllttlllttu // push <"D"> (99)
ltlltltu // copy <" "> (from 5)
lllttttlllu // push <"Y"> (120)
lllttttlltu // push <"Z"> (121)
lllttlllllu // push <"A"> (96)
lllttltlttu // push <"L"> (107)
ltlltllu // copy <" "> (from 4)
lllttlltllu // push <"E"> (100)
lllttlltttu // push <"H"> (103)
llltttllttu // push <"T"> (115)
ltllttu // copy <" "> (from 3)
llltttllltu // push <"R"> (113)
ltlltllu // copy <"E"> (from 4)
llltttltltu // push <"V"> (117)
ltlltttlu // copy <"O"> (from 14)
ltlltllu // copy <" "> (from 4)
llltttlltlu // push <"S"> (114)
lllttlttttu // push <"P"> (111)
lllttlttllu // push <"M"> (108)
llltttltllu // push <"U"> (116)
lllttltlltu // push <"J"> (105)
ltlltltu // copy <" "> (from 5)
llltttltttu // push <"X"> (119)
ltlltlllu // copy <"O"> (from 8)
lllttlltltu // push <"F"> (101)
ltllttu // copy <" "> (from 3)
lllttlttltu // push <"N"> (109)
llltttlttlu // push <"W"> (118)
ltlltllu // copy <"O"> (from 4)
ltlltllltu // copy <"R"> (from 17)
lllttlllltu // push <"B"> (97)
ltlltltu // copy <" "> (from 5)
lllttltltlu // push <"K"> (106)
lllttllltlu // push <"C"> (98)
lllttltlllu // push <"I"> (104)
ltllttttu // copy <"U"> (from 15)
llltttllllu // push <"Q"> (112)
ltlltltu // copy <" "> (from 5)
ltllttlltu // copy <"E"> (from 25)
ltllttttlu // copy <"H"> (from 30)
ltllttttlu // copy <"T"> (from 30)
llltllllltu // push <"\""> (65)
ltlltllu // copy <" "> (from 4)
llltlttlltu // push <":"> (89)
llltlltlllu // push <")"> (72)
llltllu // push <"e"> (4)
llltlu // push <"c"> (2)
llllu // push <"a"> (0)
llltllu // push <"e"> (4)
lllttttu // push <"p"> (15)
ltlltttu // copy <" "> (from 7)
lllttlllu // push <"y"> (24)
lllttllu // push <"m"> (12)
ltlltlu // copy <" "> (from 2)
llltllltu // push <"r"> (17)
llltttlu // push <"o"> (14)
llltltu // push <"f"> (5)
ltllttu // copy <" "> (from 3)
ltllttlu // copy <"y"> (from 6)
lllttu // push <"d"> (3)
llltlttlu // push <"w"> (22)
llltttlu // push <"o"> (14)
ltlltttu // copy <"r"> (from 7)
ltlltltu // copy <" "> (from 5)
ltlltlu // copy <"o"> (from 2)
lul // dup "o"
llltllttu // push <"t"> (19)
ltllttu // copy <" "> (from 3)
ltlltu // copy <"t"> (from 1)
llltlltlu // push <"s"> (18)
llltltllu // push <"u"> (20)
llltlltu // push <"j"> (9)
llltllltttu // push <"("> (71)
ltlltltu // copy <" "> (from 5)
lllttu // push <"d"> (3)
llltllu // push <"e"> (4)
ltlltttu // copy <"t"> (from 7)
llltttlu // push <"o"> (14)
ltlltttu // copy <"u"> (from 7)
llltllllu // push <"q"> (16)
ltllttlu // copy <" "> (from 6)
lllttlllu // push <"y"> (24)
llltlttu // push <"l"> (11)
llltlltlu // push <"s"> (18)
ltlltltu // copy <"u"> (from 5)
llltttlu // push <"o"> (14)
llltlllu // push <"i"> (8)
llltltttu // push <"x"> (23)
ltlltlu // copy <"o"> (from 2)
lllttltu // push <"n"> (13)
llltu // push <"b"> (1)
ltlltlu // copy <"o"> (from 2)
ltlltlttu // copy <" "> (from 11)
llltttu // push <"h"> (7)
llltllttu // push <"t"> (19)
llltllu // push <"e"> (4)
llltu // push <"b"> (1)
llllu // push <"a"> (0)
lllttlltu // push <"z"> (25)
llltlllu // push <"i"> (8)
llltlttu // push <"l"> (11)
lllttlltllu // push <"E"> (100)
// output string
ullu // label 0
  // add 97 (128) before printing
  lllttlllltu // push 97
  tlll // add
  llltlllllllu // push 128
  tltt // mod
  tull  // print top of stack

  // break loop if EOS
  lul   // dup
  lllttltlu // push EOS
  tllt // subtract
  utltu // jump to 1 if top of stack is zero
uluu // jump to 0

ulltu // label 1
uuu

Сама програма пробілів досить проста, але є три оптимізації для гольфу:

  • використовувати lulдля клонування стека, коли є дублюючий символ
  • використовувати ltlдля клонування n-го запису стека, якщо його коротше, ніж натискання знака безпосередньо
  • зсуває всі байти на 97 (мод 128), зменшує двійкові числа менше

Простий рубіновий скрипт для перетворення мого читаного коду пробілу у фактичну програму пробілу (читати файл prog.hі записувати у файл prog.ws):

WHITESPACE = "l"
NEWLINE = "u"
TAB = "t"

File.open('prog.ws','w') do |fout|
    code = ""
    fin = File.read('prog.h')
    fin.each_line do |line|
        line.gsub!(/\/\/.*/,'')
        line.scan(/#{NEWLINE}|#{WHITESPACE}|#{TAB}/i) do |x|

            code << case x.downcase
            when NEWLINE.downcase
                "\n"
            when WHITESPACE.downcase
                " "
            when TAB.downcase
                "\t"
            else
                ""
            end
        end
    end
    fout << code
end

Новий рядок не є обов'язковим, ви можете зберегти кілька символів, не друкуючи його.
durron597

Спасибі, змінили. Спочатку я включив його, тому що інтерпретатор Haskell додав вихід налагодження, але з рубіновим він виглядає чисто.
blutorange

7

Рубін 144 байти * 39 Унікальний = 5616

puts"Elizabeth obnoxiously quoted (just too rowdy for my peace): \"#{'the quick brown fox jumps over the lazy dog,'.upcase}\" giving me a look."

Іноді найпростіший - найкращий.


Ви не використовуєте жодних спрощень у даних. Приклади просвітки та білого простору отримали вражаючі оцінки разом із деякими поясненнями. Навіть з бонусом за використання акуратного коду на здоровій мові, це занадто багато підґрунтя !!! Можливо, ви зможете повторно вступити у змагання за довжину + унікальний рахунок.
Jose_X

6

Brainfuck, 1264 байт * 7 унікальних = 8848

Так, жахлива оцінка.

++++[++++>---<]>++.-[--->+<]>.---.-[--->+<]>++.[->+++++<]>-.+.+++.[--->+<]>---.------------.--[--->+<]>--.+++++[->+++<]>.-------------.++++++++++++.+.+++++++++.[->+++<]>+.++++++.++++++.--.-------.-[--->+<]>.-[---->+<]>++.----[->++++<]>+.++++.------.+++++.+++[->+++<]>.-.-[--->+<]>-.++++++++.-----[->+++<]>+.+++++++++++.--.+.[---->+<]>+++.---[->++++<]>.-----..[--->+<]>-----.---[----->++<]>.---.++++++++.[->+++<]>-.+[--->+<]>++.-[---->+<]>++.++[->+++<]>.+++++++++.+++.[-->+++++<]>+++.+[----->+<]>.--[--->+<]>.-[---->+<]>++.[-->+++++++<]>.-----------.----.++.++.--[->+++<]>.-[-->+++<]>--.[-->+<]>+++.++.>-[--->+<]>-.------------.---.-[-->+<]>--.[-->+++++<]>+.++++.------------.------.++++++++.---[->++++<]>.+[->++<]>.>-[--->+<]>---.---.++++++++.---------.++[----->++<]>.+++[->++<]>.+++++++++.+++++++++.[--->++++<]>.+++++[->++<]>.>-[--->+<]>.--------.+++.+++.+[--->+<]>++++.[-->+++++<]>-.+++++++.--[----->+<]>+.+++++++++++++.--[----->++<]>.>-[--->+<]>-.------------.---.-[-->+<]>--.++++++[->++<]>.-----------.-----[-->+++<]>.-.+[--->+<]>++.++[->++<]>.+++++++++++.--------.--[--->++<]>--.----------.--.++[->+++<]>+.++.[->++++++<]>.[------>+<]>.+++++.-------.-[--->+<]>--.+[----->+<]>.--------.--[--->+<]>-.[->+++<]>+.-[->+++<]>.++[--->++<]>.+++..----.[->++++++++++<]>.

Я виявив, що можна використовувати менше унікальних символів, але довжина буде 10795 разів 5 = 53975.
mbomb007

ви могли б це зробити, тільки +.не впевнені, що це буде менше.
captncraig

Використовуючи лише, +і .я отримую 15018 * 2 = 30,036.
captncraig

6

> <> (Риба) - 578 байт * 8 унікальних = 4624

14121412412431421124321110441421130402401433401430421141143114240333221142303303210321143224241321121343212340321131301320302344221132340304221130322340321313221100323234202311321143224241341121131213110444324310422421114441421142412420421114400443412442421112412413421113403423411403121100410413412423432421114431403423412401404412402434312421140413410434324324401431443243*3*3+3*1+00p44*4+3*2+01p44*3*4+1+11p44*3*4+1+21p43+3*2*31p43+3*2*41p43*3*41+1p44*3*4+1+42+1p43+3*2*43+1p43+3*2*1+44+1p43+3*2*1+33*1p43*3*3*3+33*1+1p43*3*3*33*2+1p43+3*3*43*1p44*2*1+43*1+1p44*3+3*2+43*2+1p

Мій рахунок не такий конкурентоспроможний, як я сподівався, але я вважав, що це рішення все ще досить цікаве для публікації.

Пояснення

Перший розділ коду - це довгий рядок цифр 0-4, які представляють 3-значне базове 5 представлення для кожного символу в рядку. Залишився код використовує pоператор у Fish, що дозволяє редагувати вихідний код програми під час роботи програми. За допомогою цього оператора я зміг генерувати рибний код, необхідний для перетворення базових 5 символів назад у базу 10 та виведення їх, а потім повернув цей код назад у вихідний код на початку файлу до того, як інтерпретатор досяг кінця лінії та загорнуті. Коли перекладач доходить до кінця рядка, код було змінено так, щоб виглядати так:

v4121412412431421124321110441421130402401433401430421141143114240333221142303303210321143224241321121343212340321131301320302344221132340304221130322340321313221100323234202311321143224241341121131213110444324310422421114441421142412420421114400443412442421112412413421113403423411403121100410413412423432421114431403423412401404412402434312421140413410434324324401431443243*3*3+3*1+00p44*4+3*2+01p44*3*4+1+11p44*3*4+1+21p43+3*2*31p43+3*2*41p43*3*41+1p44*3*4+1+42+1p43+3*2*43+1p43+3*2*1+44+1p43+3*2*1+33*1p43*3*3*3+33*1+1p43*3*3*33*2+1p43+3*3*43*1p44*2*1+43*1+1p44*3+3*2+43*2+1p
>55**$5*++ol?!; 

Коли код обертається навколо і натискає на vоператора, він опускається до другого рядка, потрапляє на >оператора і переходить до циклу, щоразу перетворюючи базове кодування назад у базове значення 10 ascii, а потім виводячи це значення. Коли на стеку більше немає значень, ?оператор перейде до програми ;і програма закінчиться.


5

7 , 273 байт × 7 унікальних байтів = 1911, неконкурентоспроможний (виклик після публікації мови)

501513010250341012432044041204045104011053033043511402401130443235151151105240424404004144031133304214014044433043401032201433022042551243201043511102223044114403120042140450415114434050440500114042432010430032533041340424320250451514210501020420444010403043040402343447403

Спробуйте в Інтернеті!

На жаль, це стара проблема, це означає, що я не можу перемогти однією з моїх новітніх мов. Однак мова була створена без знань про виклик (я просто випадковим чином натрапив на неї у "пов'язаних питаннях"), але, тим не менш, виявився ідеально придатним.

7 програм на PPCG зазвичай надходять у упакованому форматі, упаковуючи вісім команд у три байти (мова має дванадцять команд, але у вихідному файлі може з’явитися лише вісім, тобто три біти достатньо). Однак мова також підтримує восьмеричний формат, у якому кожна команда записується як ASCII-цифра, і це те, що я тут використав, тобто лише сім окремих байтів використовується ( 6команда не потрібна в програмі, яка тільки друкує простий рядок).

Програма дуже проста; він складається з двох елементів стека, довгого рядка, який щойно надруковується дослівно, a 7для розділення елементів (на жаль, неминучого), і 403це простий спосіб друку постійної рядки в 7 ( 40уникає другого елемента стека, пересуваючи його на у верхній частині стека, потім 3надрукує його та відкидає старий перший елемент стека, тобто 403сам).

Тож як я отримав рядок у 269 байт? 7 підтримує декілька форматів вводу-виводу, а один з його форматів - US-TTY , набір символів (конкретно, варіант Бодо), який широко застосовувався до винайдення ASCII. (На 5початку другого елемента стека, тобто початку програми, вказується кодування рядка; решта - сам вміст рядка.) Це п'ятибітний набір символів, і команди 0для5можна безпечно зберігати в рядках, не змінюючи їх послідовно (таким чином, якщо уникнути його одного разу точно буде відтворено оригінал), тому мова використовує пари команд (36 варіантів) для кодування символів US-TTY (32 варіанти, 4 використовуються для директиви до 7 перекладача). Звичайно, існує більше 32 унікальних символів, які люди можуть захотіти вивести (а в рядку з’являється більше 32 символів), тому два символи - це "коди зсуву", які перемикаються між чотирма наборами символів (великі літери, малі літери , фігури та визначене користувачем "розширення фігур", яке 7 використовує для решти символів ASCII, яких немає в інших наборах символів; однак, всі символи в рядку є "споконвічно" в US-TTY, тому деталі розширення не мало значення). Ось '

Ełlizabeth obnoxiously quoted Ø(Łłjust too rowdy for my peaceØ):
"ŁTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOGØ," Łłgiving me a lookØ.

Я рахую десять змін, доданих до 124 символів введення, відносно незначне співвідношення. Таким чином, можливість використовувати лише трохи більше двох байтів вводу на один вхідний символ, разів 7 унікальних байтів, означає, що оцінка на цьому виклику неймовірно хороша. (Напевно, мова, яка була розроблена спеціально для цього завдання, використовувала б якесь стискання струни, а не попередній набір символів, але, хоча Бодо і US-TTY не були розроблені для гольфу, вони все ще досить стислі .)


Ця лазівка ​​- це запобігання написанню мови з метою відповіді на виклик, чого, очевидно, немає. І все-таки вартий нагороди від мене, хоча я не можу його прийняти, незважаючи на найнижчий на сьогодні бал.
durron597

2

Python 2, 163 147 145 143 байт * 35 36 35 унікальний = 5705 5292 5220 5005

Це, мабуть, приблизно так добре, як я збираюся це отримати.

Зміни:

  1. Видалено .capitalize()на користь використання E.
  2. Змінено використовувати 'замість зворотних котирувань косого кута.
  3. Вилучено +та деякі пробіли для використання коми в printоператорі.
print"Elizabeth obnoxiously quoted (just too rowdy for my peace):",'"the quick brown fox jumps over the lazy dog,"'.upper(),"giving me a look."

Я спробував розглянути початок з двійкового чи шістнадцяткового і перехід на рядок, але переваги втрачаються в процесі перетворення.
mbomb007

2

Python 2, 14508 11700 11088 10164 9486 9746 7860 145 байт * 36 унікальних = 5220

Я побачив заголовок і подумав, що це цікавий виклик для досить багатословного Python. Це мої замітки, коли я вирішував цю проблему.

Перша моя спроба зменшила кількість унікальних даних до 31:

print''.join(chr([69,108,105,122,97,98,101,116,104,32,111,98,110,111,120,105,111,117,115,108,121,32,113,117,111,116,101,100,32,40,106,117,115,116,32,116,111,111,32,114,111,119,100,121,32,102,111,114,32,109,121,32,112,101,97,99,101,41,58,32,34,84,72,69,32,81,85,73,67,75,32,66,82,79,87,78,32,70,79,88,32,74,85,77,80,83,32,79,86,69,82,32,84,72,69,32,76,65,90,89,32,68,79,71,44,34,32,103,105,118,105,110,103,32,109,101,32,97,32,108,111,111,107,46][r])for r in range(124))

Я думав, що можу зробити краще. Використовуючи map, унікальні матеріали знизилися до 26:

print''.join(map(chr,(69,108,105,122,97,98,101,116,104,32,111,98,110,111,120,105,111,117,115,108,121,32,113,117,111,116,101,100,32,40,106,117,115,116,32,116,111,111,32,114,111,119,100,121,32,102,111,114,32,109,121,32,112,101,97,99,101,41,58,32,34,84,72,69,32,81,85,73,67,75,32,66,82,79,87,78,32,70,79,88,32,74,85,77,80,83,32,79,86,69,82,32,84,72,69,32,76,65,90,89,32,68,79,71,44,34,32,103,105,118,105,110,103,32,109,101,32,97,32,108,111,111,107,46)))

Приблизно в цей час я помітив у тексті запитання, що оцінка була uniques * bytes, а не просто унікальні! Це означало, що мої оцінки за вищезазначене були 14508 та 11700. Не дуже конкурентоспроможними. Тому я тепер зменшую байти, зберігаючи текст у вигляді шістнадцяткової рядки:

# 308*36 = 11088
print''.join(chr(int('456c697a6162657468206f626e6f78696f75736c792071756f74656420286a75737420746f6f20726f77647920666f72206d79207065616365293a202254484520515549434b2042524f574e20464f58204a554d5053204f56455220544845204c415a5920444f472c2220676976696e67206d652061206c6f6f6b2e'[i*2:i*2+2],16)) for i in range(124))

Розмір був зменшений, але більш унікальні символи. Але якщо я використав упакований двоцифровий десятковий рядок із зміщенням 32:

# 308*33 = 10164
print''.join(chr(int('37767390656669847200796678798873798583768900818579846968000874858384008479790082798768890070798200778900806965676909260002524037004953413543003450475546003847560042534548510047543750005240370044335857003647391202007173867378710077690065007679797514'[i*2:i*2+2])+32) for i in range(124))

Це однакова кількість байтів, але економить 3 унікальних.

Я викладаю новий план. Якщо я спакую довге ціле число Python із 7 бітовими символами, я можу витягнути кожне з них, змістивши:

# 306*31 = 9486
h=1073974643401006528619595312441225198653732186368270382545648881135648217524502741093886285232362673460172159947573049818819511630304840724474679255867143965214892747087773876949021986013520804726327302180335979259392708372721217579101211940864406962137554744750
w=''
while h:w=chr(h&127)+w;h>>=7
print w

Добре, що це знизило бал до 9486. Цікавий експеримент, але ніде неподалік. А що робити, якщо я позбудусь імен функцій і покладусь на форматирование рядків?

# 443 * 22 = 9746
print('%c'*124)%(69,108,105,122,97,98,101,116,104,32,111,98,110,111,120,105,111,117,115,108,121,32,113,117,111,116,101,100,32,40,106,117,115,116,32,116,111,111,32,114,111,119,100,121,32,102,111,114,32,109,121,32,112,101,97,99,101,41,58,32,34,84,72,69,32,81,85,73,67,75,32,66,82,79,87,78,32,70,79,88,32,74,85,77,80,83,32,79,86,69,82,32,84,72,69,32,76,65,90,89,32,68,79,71,44,34,32,103,105,118,105,110,103,32,109,101,32,97,32,108,111,111,107,46)

Зараз у мене всього 22 унікальних, але оцінка не покращується.

Гаразд, що робити, якщо я взяв очевидний шлях і просто надрукував рядок:

# 131*60 = 7860
print'Elizabeth obnoxiously quoted (just too rowdy for my peace): "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG," giving me a look.'

Оцінка 7860. Я повинен був зробити це першим. Але я б так багато не навчився.

Я думаю, що я міг би зменшити унікальні елементи на 26, якби динамічно створив верхню частину регістру, так:

# 145*36 = 5220
print'Elizabeth obnoxiously quoted (just too rowdy for my peace): '+'"the quick brown fox jumps over the lazy dog,"'.upper()+' giving me a look.'

Я думаю, що Python не стане набагато кращим, ніж 5220. Завдання мінімізації унікальних символів у Python, безумовно, було повчальним.

Оновлення: mbomb007 має кращу програму Python - оцінка 5005. Приємна робота.


Приємні оптимізації вашого рішення +1. Я відредагував заголовок так, як ви запропонували.
Логічний лицар

1

> <> (Риба) - 138 байт * 65 Унікально = 8970

Простий маршрут, тобто Hello World:

!v'Elizabeth obnoxiously quoted (just too rowdy for my peace): "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG," giving me a look.'r!
 >l?!;o

Що ж, для мого першого вступу в <<> це було складним завданням. Я думаю, що я бачу деякі вдосконалення, але мені було цікаво, вивчивши це :)

Або зробити його надмірно складним - 1567 байт * 27 Унікальний = 42309

!\f8+3*:o2*f2*-:o3-:of+2+:ofa+-:o1+:o3+:of+:oc-:o\7+:od-:oc+:o1+:o9+: of-:o6+:o6+:o2-:o7-: od+:o\8-:o4+:o6-:o5+:of -:o1-:o\\6+:ob+ :o2-:o1+:o\:o5-:o:o\3+ :o3-:o8+:of4+-:oab ++:o\f4+-:o9+ :o3+: o\!
!5:of+a+:o1-:off+2+o:f-6-oa-:o8-:of3*1-:oa-:o2-:!fo3*7+:o2+:o:d+o:o5!f+:o7-:off+2+o6+:o8-!f:off!f+2+o4-:off+2+ob+!f:o3+::\ff    f f          f        f  f                  f    f        f     \!f-
 -                                               f                   f                    f     f                 f       ff    3 f          f        f  f                  f    f        f       f
 :                                               +                   +                    +     +                 +       ++    * +          +        +  +                  +    +        +       +
 o                                               2                   2                    2     2                 2       2a    1 2          2        2  2                  2    2        2       2
 c                                               +                   +                    +     +                 +       ++    + +          +        +  +                  +    +        +       +
 +                                               o                   o                    o     o                 o      \oo4-o \ o;         o        o  o                  o    o        o       o
 \:off+2+o9-:ob-:o4-:o2+:o2+:of4*%:of2++:o2,3+:o2 +:o3*f-3-:oc-:o3-:o\c+:o4+:oc-:o6-:o8+:o\9-:of 1++:o3-:o8+:o9-:o\8-:o9+:  o9+: o\e-:ob+:o8- :o3+:o3+ :o\4-:o7+:o2-f-:od+:o\2+:o c-:o3-:o\7+:ob\

Якщо ви пишете рядок назад, ви можете скинути rреверс стека :) Також ви можете перемістити остаточне місце oдо порожнього простору на початку другого рядка.
Sp3000

@ Sp3000 Дякую за поради!
Влад274

Будь-яким способом ви могли уникнути f f + 2 + oстільки разів у складному?
mbomb007

У кращому варіанті - чи є простий шлях до верхнього регістру ? Проведіть цикл підпрограми, яка додає 32 у кожну частину рядка, заощадивши вам кілька унікальних символів, можливо?
mbomb007

@ mbomb007 Я міг би оптимізувати це за допомогою регістра, або я навіть міг прочитати пробіл із самого вихідного коду. Я супер новачок у Риб, тож не знаю, чи це можливо
Vlad274

1

05AB1E , 380 байт * 11 символів = 4180 балів

Це потенційно не конкурує

"234413410442342343401431404112421343420421440410421432430413441112423432421431401400112130411432430431112431421421112424421434400441112402421424112414441112422401342344401131213112114314242234112311320243232300112231312304322303112240304323112244320302310313112304321234312112314242234112301230330324112233304241134114112403410433410420403112414401112342112413421421412141"3ô5öçJ

Спробуйте в Інтернеті!

Натискає на базу 5 представлення символів ASCII, об'єднаних разом.
Розбивається на 3 частини, перетворюється назад у десяткові.
Перетворює ціле число ASCII назад в символ.
Приєднується назад.


0

Perl 6, 139 байт * 36 унікальних = 5004

say 'Elizabeth obnoxiously quoted (just too rowdy for my peace): "'~"the quick brown fox jumps over the lazy dog".uc~'," giving me a look.'

0

Java 8, 141 байт * 64 унікальних символів = 9,024

()->{return"Elizabeth obnoxiously quoted (just too rowdy for my peace): \"THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG,\" giving me a look.";}

141 байт, 64 унікальні символи. Підходи, відмінні від простого "повернення рядка", збільшують кількість байтів, не економлячи на використаних символах.



0

Tcl , 345 байт, 345 x 13 = 4485

\160\165\164\163 [\163\165\142\163\164 [\162\145\147\163\165\142 \55\141\154\154 \50\\\144\\\144\51 "055451724142456450 5742565770515765635471 616557644544 \5052656364 645757 6257674471 465762 5571 6045414345\51\72 \"241005 2125110313 0222172716 061730 1225152023 17260522 241005 14013231 041707\"\54 475166515647 5545 41 54575753" \\\\1\\1]]\56

Спробуйте в Інтернеті!


Tcl , 337 байт, 337 x 15 = 5055

\160\165\164\163 [\163\165\142\163\164 [\162\145\147\163\165\142 \55\141\154\154 (\\\144\\\144) "055451724142456450 5742565770515765635471 616557644544 (52656364 645757 6257674471 465762 5571 6045414345)\72 \"241005 2125110313 0222172716 061730 1225152023 17260522 241005 14013231 041707\"\54 475166515647 5545 41 54575753" \\\\1\\1]]\56

Спробуйте в Інтернеті!

Tcl , 329 байт, 329 x 16 = 5264

\160\165\164\163 [\163\165\142\163\164 [\162\145\147\163\165\142 \55\141\154\154 (\\d\\d) "055451724142456450 5742565770515765635471 6165576445d (52656364 645757 625767d71 465762 5571 6045414345)\72 \"241005 2125110313 0222172716 061730 1225152023 17260522 241005 14013231 041707\"\54 475166515647 5545 41 54575753" \\\\1\\1]]\56

Спробуйте в Інтернеті!


Tcl , 333 байт, 333 x 16 = 5328

\160\165\164\163 [\163\165\142\163\164 [\162\145\147\163\165\142 \55\141\154\154 (\\d\\d) "055451724142456450 5742565770515765635471 6165576445d \5052656364 645757 625767d71 465762 5571 6045414345\51\72 \"241005 2125110313 0222172716 061730 1225152023 17260522 241005 14013231 041707\"\54 475166515647 5545 41 54575753" \\\\1\\1]]\56

Спробуйте в Інтернеті!


Tcl , 148 байт, 148 x 37 = 5476

puts "Elizabeth obnoxiously quoted (just too rowdy for my peace): \"[string tou "the quick brown fox jumps over the lazy dog"],\" giving me a look."

Спробуйте в Інтернеті!

Tcl , 277 байт, 277 x 21 = 5817

\160u\164s [subs\164 [\162\145\147sub \55\141\154\154 (\\d\\d) "0554517241b456450 ob56o7051ous5471 61uo6445d(52us64 64oo 62o67d71 46o62 5571 6045414345): 241005 2125110313 0222172716 061730 1225152023 17260522 241005 14013231 041707\" 475166515647 5545 41 54oo53" \\\\1\\1]]\56

Спробуйте в Інтернеті!

Tcl , 371 байт, 371 x 16 = 5936

puts "\105\154\151\172\141\142\145t\150 o\142\156o\170\151ous\154\171 \161uot\145\144 \50\152ust too \162o\167\144\171 \146o\162 \155\171 p\145\141\143\145\51\72 \"\124\110\105 \121\125\111\103\113 \102\122\117\127\116 \106\117\130 \112\125\115\120\123 \117\126\105\122 \124\110\105 \114\101\132\131 \104\117\107\54\" \147\151\166\151\156\147 \155\145 \141 \154oo\153\56"

Спробуйте в Інтернеті!

Tcl , 401 байт, 401 x 16 = 6416

puts "\105\154\151\172\141\142\145\164\150 o\142\156o\170\151o\165\163\154\171 \161\165o\164\145\144 \50\152\165\163\164 \164oo \162o\167\144\171 \146o\162 \155\171 \160\145\141\143\145\51\72 \"\124\110\105 \121\125\111\103\113 \102\122\117\127\116 \106\117\130 \112\125\115\120\123 \117\126\105\122 \124\110\105 \114\101\132\131 \104\117\107\54\" \147\151\166\151\156\147 \155\145 \141 \154oo\153\56"

Спробуйте в Інтернеті!


Tcl , 403 байт, 403 x 16 = 6448

puts "\105\154\151\172\141\142\145\164\150 o\142\156o\170\151o\165\163\154\171 \161\165o\164\145\144 \50\152\165\163\164 \164oo \162o\167\144\171 \146o\162 \155\171 \160\145\141\143\145\51\72 \42\124\110\105 \121\125\111\103\113 \102\122\117\127\116 \106\117\130 \112\125\115\120\123 \117\126\105\122 \124\110\105 \114\101\132\131 \104\117\107\54\42 \147\151\166\151\156\147 \155\145 \141 \154oo\153\56"

Спробуйте в Інтернеті!


Tcl , 433 байт, 433 x 15 = 6495

puts "\105\154\151\172\141\142\145\164\150 \157\142\156\157\170\151\157\165\163\154\171 \161\165\157\164\145\144 \50\152\165\163\164 \164\157\157 \162\157\167\144\171 \146\157\162 \155\171 \160\145\141\143\145\51\72 \42\124\110\105 \121\125\111\103\113 \102\122\117\127\116 \106\117\130 \112\125\115\120\123 \117\126\105\122 \124\110\105 \114\101\132\131 \104\117\107\54\42 \147\151\166\151\156\147 \155\145 \141 \154\157\157\153\56"

Спробуйте в Інтернеті!

Tcl , 473 байт, 473 x 14 = 6622

puts \105\154\151\172\141\142\145\164\150\40\157\142\156\157\170\151\157\165\163\154\171\40\161\165\157\164\145\144\40\50\152\165\163\164\40\164\157\157\40\162\157\167\144\171\40\146\157\162\40\155\171\40\160\145\141\143\145\51\72\40\42\124\110\105\40\121\125\111\103\113\40\102\122\117\127\116\40\106\117\130\40\112\125\115\120\123\40\117\126\105\122\40\124\110\105\40\114\101\132\131\40\104\117\107\54\42\40\147\151\166\151\156\147\40\155\145\40\141\40\154\157\157\153\56

Спробуйте в Інтернеті!

Tcl , 133 байт, 133 x 60 = 7980

puts "Elizabeth obnoxiously quoted (just too rowdy for my peace): \"THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG,\" giving me a look."

Спробуйте в Інтернеті!



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.