Mystery String Printer (Cops)


60

Нитку з розбійниками можна знайти тут: The Mystery String Printer (Robbers)

Ваше завдання

  • Написати програму, функцію або сценарій REPL, який друкує рядок до STDOUT.
  • Розбійники спробують створити програму, яка друкує ту саму рядок.
  • Якщо вони успішно зможуть створити програму протягом 7 днів, ваше надсилання буде зламано.
  • Якщо ніхто не може створити програму, яка надрукує ту саму рядок протягом 7 днів, ваше подання надійне. Ви можете розкрити свою програму або залишити її для виклику майбутніх грабіжників. Однак якщо ви не розкриєте це, ви не зможете отримати жодних балів від свого подання (не ставте "безпечно" у своєму заголовку відповідей, якщо ви вирішите це зробити).

Обмеження

  • Програма повинна бути менше або дорівнює 128 байтам (детальніше про це пізніше).
  • Якщо програма залежить від назви програми або імені / вмісту зовнішнього файлу, ви повинні сказати, що це робиться, і включити це до загального числа байтів.
  • Надрукований рядок повинен бути меншим або рівним 2048 байт.
  • Надрукований рядок повинен складатися з символів, що друкуються ASCII (можна включати нові рядки).
  • Програма повинна виробляти один і той же результат кожного разу, коли вона запускається.
  • Вбудовані криптографічні примітиви (включаючи будь-які rng, шифрування, дешифрування та хеш) заборонені.
  • Програма не повинна приймати дані.
  • Немає стандартних лазівки

Оцінка балів

  • Якщо подання зламається до семи днів, подання заробляє 0 балів.
  • Безпечне подання ≤128 символів заробляє 1 бал.
  • Безпечне подання ≤64 символів заробляє 2 бали. Якщо вона менша або дорівнює 32 байтам, вона заробляє 4 бали тощо.
  • Кожне безпечне подання також отримує додатковий бонус у 3 бали (незалежно від тривалості).
  • Існує невеликий штраф (1/2 бала) за кожен зламаний після першого.
  • Зауважте, що рішення грабіжника повинно бути в однаковому діапазоні тривалості програми.
  • Кожна людина може подати максимум 1 програму на діапазон байтів на мову (різні версії та довільні заміни однієї мови не враховуються як окремі мови). Приклад: ви можете розмістити 32-байтну і 64-байтну піт-програму, але ви не можете розмістити 128-байтну програму як у Java 7, так і в Java 8.
  • Перемагає людина з найбільшою кількістю балів.

Подання

Кожна інформація повинна містити такі відомості:

  • Назва мови. Усі нові рішення розбійників повинні бути однаковою мовою.
  • Діапазон розміру програми (це найближча потужність на два вище, ніж розмір програми; наприклад, якщо ваша програма становить 25 байт, це буде "≤32").
  • Фактичний рядок для друку
  • Якщо подання надійне, введіть у свій заголовок "безпечне" та довжину програми (до найближчої сили 2). Якщо у вашому заголовку є кілька чисел, поставте потужність 2 останніми.

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

Використовуйте наступні формати для записів:

Language, (any text with the program size as the last number)
=

або

Language
=
Length <= 16

Зауважте, що фрагмент вводить перше слово у заголовок лише як мову, якщо він не виявить кома.

Для безпечного подання введіть безпеку у свій заголовок. Фрагмент автоматично помістить вашу програму у стовпчик "безпечний", якщо час закінчиться, тому це більше скаже будь-яким грабіжникам, що ваша програма безпечна.

Для тріщин подання покладіть тріщини у своєму заголовку.

Програма також повинна бути в змозі розпізнати, якщо коментар каже "зламаний" і має посилання; однак це не гарантується.

Порядок вибору: Окуляри -> # Безпечні подання -> Найменша кількість тріщин.

Зауважте, що фрагмент сортується за відкритими поданнями до найменшого розтріскування, але відкриті матеріали не будуть зараховані до кінця конкурсу.

Зараз ця проблема закрита.

Переможець більшості очок: Денніс

Найбільш безпечні матеріали: DLosc

(Зверніть увагу, що кількість надійних подань не відповідає бальній сумі, оскільки розмір програм враховується при підрахунку балу).


5
Ми повинні нагадати поліцейським, що вихід повинен бути довше програмного розміру, щоб зменшити тривіальні рішення, такі як codegolf.stackexchange.com/a/60395 та codegolf.stackexchange.com/a/60359
kennytm

2
@bmarks Повинен існувати спосіб виконання мови, і мова повинна мати змогу відображати рядок символів ASCII. Якщо ви хочете використовувати HQ9 +, поздоровлення, ви щойно отримали зламану заяву.
Даніель М.

3
@bmarks Я б не віддав перевагу , але я не збираюся вас зупиняти.
Даніель М.

15
Усі вихідні дані, що стосуються лише кількості, є дуже нудними.
mbomb007

4
Подумайте про використання пісочниці наступного разу. Переважно, щоб правила виклику не повинні змінитися взагалі після того, як вона була розміщена. Я втратив слідку, скільки разів тут змінювались правила ...
Денніс

Відповіді:


20

Pyth, Safe, діапазон ≤ 8

['ashva', 'cxedo', 'ecckc', 'hhzsq', 'jmwze', 'lrths', 'nwrog', 'pbowu', 'rgldi', 'uljlw', 'wpgsk', 'yuday'

Код:

%^T6`^G5

Пояснення:

Щоб уточнити, як це працює: я створив усі можливі 5 символьних рядків з малих літер ( ^G5). Потім я створив рядкове представлення цього списку: ( `^G5). Нарешті, я взяв кожен 1000-тисячний символ цього списку ( %^T6). Результат - це щось подібне до списку рядків, але підозріло не вистачає його кінцевої дужки.


чи немає близьких ]?
Мальтісен

1
@Maltysen Nope.
isaacg

4
Побачив другий елемент як "xCode", який прошив, подумав, що це список зашифрованих IDE, але я не зміг ідентифікувати жодного з інших: o
Альберт Реншо

1
Жорсткий! Я знайшов шаблон у рядках, але не маю уявлення, як його генерувати у <= 8 байт.
Фабіан Шменглер

16

VBA, [безпечно]

Діапазон <= 128 байт

Підказка, куди вивести

Ран в Excel 2007, вихід був на Debug.print. Його VBA удачі отримати що-небудь під 128 байт для запуску.

Вивести 255 байт

 This array is fixed or temporarily locked THIS ARRAY IS FIXED OR TEMPORARILY LOCKED this array is fixed or temporarily locked This Array Is Fixed Or Temporarily Locked I n v a l i d   p r o c e d u r e   c a l l   o r   a r g u m e n t  ?????????????????

Рішення

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

Код

    Sub e()
    On Error Resume Next
    Err.Raise 10
    For i = 0 To 128
    b = b & " " & StrConv(Err.Description, i)
    Next
    Debug.Print b
    End Sub'

Пояснив

Спочатку код починається з одного з основних гріхів VBA. On Error Resume next.
Після того, як ми здійснили цей жахливий вчинок, ми йдемо вперед і просто кидаємо і помиляємося. це This array is fixed or temporarily lockedпомилка, яку ми скоро побачимо у висновку.

Наступна - петля. Ми циклічні 128 разів, намагаючись перетворити опис помилки, але єдино допустимі входи для i are 1,2,3,64,128. Через це перші 4 петлі друкують помилку з різними форматами. Потім, коли i = 4код викидає нову помилку, Invalid callтоді ці петлі і нічого не призначається, bоскільки strconvфункція щоразу вимикається.

Це де будь-яка нормальна програма повинна бути зупинена, але тому , що у нас є On Error Resume Nextкожна помилка ігнорується і код продовжує небеспокоят поганий обробку помилок

Тепер ми потрапилиi=32і ми додаємо нову помилку до bконвертованого в Unicode, а потім продовжуємо циклічно, поки i = 128в цей момент ми не конвертуємо помилку з Unicode, що призводить до того, що ?????????????????рядок буде додано до b

Нарешті роздрукувати безлад помилок, які ми об'єднали разом


14

Математика, безпечна, діапазон ≤ 64

Вихід:

CGTAGGCCCATTTTGTGTGAATTGCGGTGCAGCGAGCGATATGTTGTCTGGGCACGGACGCAGAGTTAGGGTAGCTGGTG

Джерело:

Print@@Characters["GATC"][[1+First@RealDigits[Pi,4,80]]]

6
Тепер мені доведеться GenomeLookupвсе ...
LegionMammal978

3
Дійсно! Що це віддало?

2
Можливо, я мав би змінити букви!

1
Lol, при цьому багато повторюваних символів і 64 байти, які можна працювати з вами, ви можете легко зробити функцію, просто надрукувавши цей рядок. xD
Альберт Реншо

4
Я додав джерело. Це, звичайно, НЕ що стосується геномів, а скоріше 80 цифр пі в базі 4, закодованих за допомогою "GATC", щоб змусити людей думати про подвійні спіралі.

12

ngn APL (безпечно)

0.675640430319848J0.8376870144941628

Діапазон ≤ 8

Рішення

*3○⍟⍣=42

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

Як це працює

  • ⍟⍣=42застосовує природний логарифм ( ) неодноразово до 42, поки не буде досягнуто фіксованої точки ( ⍣=), даючи 0,31813150520476413J1,3372357014306895 .

    Початкове значення насправді тут не має значення, доки воно не є ні 1, ні 0 .

  • 3○застосовує дотичну до свого правого аргументу, приносячи 0,07343765001657206J0.8920713530605129 .

  • * застосовує природну експоненціальну функцію до свого правильного аргументу, даючи бажаний вихід.


Абсолютна цінність не зовсім 1. Цікаво.
lirtosiast


8

> <> (Безпечно)

Випробовується в Інтернеті та офіційних перекладачах.

Діапазон: <= 16

Рядок: 4621430504113348052246441337820019217490490

Це досить 1337, так?

Пояснення:

Ось вихідний код (15 байт):

f1-:0(?;::0g*n!

fнатискає 15 (наш лічильник) на стек (це пропускається !в кінці, щоб не натиснути більше одного лічильника)

1- віднімаємо 1 з лічильника

:0(?; Хмуре обличчя тестує, якщо лічильник менше 0, решта закінчує програму, якщо вона є

:: Дублює лічильник двічі

0gСхоплює персонаж у точці (c,0)у вихідному коді, де cлічильник

* Помножує другий дублікат лічильника на представлення ASCII символу, схопленого раніше

n Друкує результат.

Отже, розділіть, вихід є [462, 1430, 504, 1133, 480, 522, 464, 413, 378, 200, 192, 174, 90, 49, 0]. Це відповідає інтерпретації коду ASCII у зворотному значенні, помноженому на числа 14 на 0 (тобто [!*14, n*13, ... f*0]).

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


8

Сніговик 1.0.2

Діапазон ≤32.

110110111011011001111100111111111101111110101000101000100001100001100011100011101110110111011011111011111011101011101111101111110111110111111011110101111010111100101100101001111001111111011111011010111010111000000100000011111001111100

Рішення таке:

"mO~(!#]/.}{k2'=+@|":2nBspsP;aE

Це така дивна мова ... потрібно розібратися в цьому, перш ніж намагатися зламати ...
GamrCorps

3
Майже там ... продовжуйте отримувати segfault 11, хоча ...
GamrCorps

7

Матлаб, ≤16. Зламаний Ваузлом

Діапазон ≤16 .

Це працює і в Октаві .

Друкований рядок такий:

ans =

     0     0     0     0     0     0     0     0     0
     0     0     0     0     9     4     0     0     0
     0     0     0     0    32    18     0     0     0
     0     0     0     9     1     0     3     0     0
     0     0     7     0     0     2    10     0     0
     0     0     3     0     2     2     3     0     0
     0     0     0    19    63    22     1     0     0
     0     0     0     4    13     4     0     0     0
     0     0     0     0     0     0     0     0     0

3
Хороша робота, я спробував придумати щось подібне, але це справді приємно, у мене справді немає поняття, як це має працювати =)
flawr


7

Perl (безпечно)

84884488488444224424428844884884884488488444224424428844884884884488488444224424424422442442884488488488448848844422442442884488488488448848844422442442442244244244224424422211221221221122122144224424424422442442221122122144224424424422442442221122122144224424424422442442221122122122112212214422442442442244244222112212214422442442442244244222112212218844884884884488488444224424424422442442884488488488448848844422442442884488488488448848844422442442884488488488448848844422442442442244244288448848848844884884442244244288448848848844884884442244244244224424424422442442221122122122112212214422442442442244244222112212214422442442442244244222112212218844884884884488488444224424424422442442884488488488448848844422442442884488488488448848844422442442884488488488448848844422442442442244244288448848848844884884442244244288448848848844884884442244244244224424424422442442221122122122112212214422442442442244244222112212214422442442442244244222112212212212211222442442244244244224412212211222442442244244244224412212211221221221122244244224424424422442442442244488488448848848844882442442244488488448848848844882442442244244244224448848844884884884488244244224448848844884884884488244244224448848844884884884488244244224424424422444884884488488488448812212211222442442244244244224412212211222442442244244244224412212211221221221122244244224424424422442442442244488488448848848844882442442244488488448848848844882442442244244244224448848844884884884488244244224448848844884884884488244244224448848844884884884488244244224424424422444884884488488488448812212211222442442244244244224412212211222442442244244244224412212211221221221122244244224424424422441221221122244244224424424422441221221122244244224424424422441221221122122122112224424422442442442244244244224448848844884884884488244244224448848844884884884488244244224424424422444884884488488488448824424422444884884488488488448824424422444884884488488488448824424422442442442244488488448848848844882442442244488488448848848844882442442244488488448

Діапазон ≤ 32

Рішення

print 2**y/124589//for-951..1048

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

Як це працює

  • for-951..1048 виконує попередню команду для кожного цілого числа в цьому діапазоні, зберігаючи її в неявній змінній.

  • y/124589// виконує транслітерацію, виключаючи вказані цифри з неявної змінної.

    y/// поверне кількість вилучень, тобто кількість зустрічей цих цифр у неявній змінній.

  • print 2**друкує 2 до сили усунення ( 1 , 2 , 4 або 8 ).


7

Python, <= 16 ( розтрісканий kennytm )

[[[22111101102001]]]

Це було створено за допомогою REPL (виконання команди в оболонці Python).

Поки я редагую це, я також підсумую коментарі майбутніх грабіжників без спойлерів: це працює не у всіх пітонів. Це працює в збірці Python 2.7 де sys.maxint = 9223372036854775807.


2
Це дуже важко.
Дж. Аткін

1
Чи працює він і в Python 2, і в Python 3?
DLosc

1
Eep. Python 2 тільки, вибачте.
гістократ

1
Це означає, що категорично не працює в Python 3?
DLosc

1
Це натяк, але так, я обіцяю, що це не працює в Python 3.
гістократ


6

TI-BASIC, ≤4 байти, розламаний Рето Кораді

На це пішло 5 днів 23 години. Дуже близько...

Вихід (10 байт):

.495382547

Програма:

³√(tanh(7°

Оскільки хтось в основному не здогадується про це, моєю метою при розробці цієї програми було зробити грубу силу єдино можливим підходом.

Для цього я не дозволяв виводу або виведенню із застосуванням однієї з цих зворотних функцій відображатися на ISC. ISC не має гіперболічної дотичної, і я подумав, що подібного інструменту не буде tanh(7°.

Щоб додати деяку безпеку від грубої сили, я використовував ступінь до радіану перетворення, дещо незрозумілу особливість, але цього було недостатньо.


10
@Conor O'Brien вам потрібно лише 10 байт, щоб виписати десяткову саму!
Арктур

1
Ось перелік усіх команд TI-84 + BASIC, а також ретельна документація.
lirtosiast

2
Просто, щоб це теж зрозуміло, Томас (і я вважаю, що більшість людей) вважає, що речі начебто sin(1 байт на TI-BASIC. Так щось на зразок sin(sin(sin(eбуде лише 4 байти.
Альберт Реншо

1
Насправді, за всім, що ми знаємо, він міг би користуватися fPart(.
LegionMammal978

1
@AlbertRenshaw Так, я підхопив це. Документація, з якою пов’язаний Томас, перераховує "розмір маркера" для кожного оператора. Я вважаю, що це ми рахуємо, і що оператори, які він використовує, швидше за все, походять із цього списку: tibasicdev.wikidot.com/one-byte-tokens .
Рето Кораді

6

CJam, ≤ 8 [безпечно]

379005901358552706072646818049622056

Мені не подобаються довгі цифри, ось ось коротка. Не соромтеся грати як офлайн, так і онлайн .

Оскільки мені здається, що лише номери даних є досить нудними, я поволі викладаю кілька підказок, щоб компенсувати їх.

Підказка 1: Програма закінчується одним числом стека, і жодна із A-Kзмінних не використовується.
Підказка 2. Цифра кодує інформацію, яку можна отримати повністю, якщо повернути процес (тобто інформація не втрачена).
Підказка 3: "Інформація" з підказки 2 - це єдиний рядок, який створюється після перших чотирьох символів.


Рішення

Програма була

0W#sWcib

0W#є 0^-1, що замість помилки дає Infinity. sпотім кидає це в рядок (зверніть увагу, що `дає 1d0/замість цього).

Для іншої половини Wcперетворюється -1 у знак char, який стає кодовою точкою 65535 завдяки обертівці для символів (див. Цю пораду ). iпотім перетворює char назад в int, тобто 65535.

Нарешті, bперетворює рядок Infinityу базу 65535, щоб дати вищевказане число.


6

Javascript (консоль), <= 32 ( розтріскано вставкоюкористувача )

"a,a,0,a,b,a,a,b,a,a,4,a,b,a,a,a,a,6,a,b,a,a"

Тестовано на веб-консолях Chrome і Firefox. Це рядок з 43 символами.

Моє задумане рішення було трохи більш детальним, ніж пов'язане (проклинайте, ES6!).

'a, b, a, a'.замінити (/ (a) / g, масив)

Пояснення:

Коли ви зателефонуєте replaceза допомогою регулярного виразу із /gпрапором та функцією, він замінює все, що відповідає регексу результату виклику функції цими аргументами: Зрівняна рядок, кожна група захоплення у відповідній рядку, індекс відповідного рядка у цілий рядок і весь рядок. У цьому випадку це будуть "a", "a", 0 або 4 або 6 і "a, b, a, a". Усі ці аргументи передаються в конструктор Array, який просто створює масив всього переданого. Потім replaceперетворює це в рядок, наприклад "a, a, 0, a, b, a, a" і замінює "a" персонаж з ним.


Знизили його до 37 байт. Це схоже на шестигранну, так що сподіваюся, що це допомагає.
mbomb007


1
Я не можу повторно подати заяву, але це дуже приємна програма.
insertusernamehere

5

Python, <= 32 ( тріщини Єгора Skriptunoff)

Вихід становить 1832 байти, включаючи нові рядки:

163
485
559
1649
2707
8117
8415
24929
41891
124133
142639
423793
694675
2075317
2162655
6357089
10682531
31785445
36635183
108070513
177408659
531963829
551493855
1633771873
2745410467
8135173349
9347869999
27774121841
45526653331
136007297717
141733920735
416611827809
700079669411
2083059139045
2400886719023
7082401072753
11626476472979
34862249549749
36142149804255
107069239746913
179920475038627
533147175478501
612629840276783
1820177075697521
2983606407043475
8913418645908149
9288532499693535
27303489359118433
45881121294188707
136517446795592165
157346912904610351
464159319105013361
761964388609624723
2284767248741900213
2368648071721459935
7016996765293437281
11791448172606497699
34940303480791033061
40148795925132553519
119288945009988433777
195535487181321247123
584146895667469134517
608742554432415203295
1789334175149826506849
3006819284014656913571
8946670875749132534245
10311729937203639353903
30418680977547050616433
49935336207531756227219
149732221646300430475189
155229351380265876857055
459858883013505412260193
772752555991766826787747
2289849682101787770873061
2631225127929856733097263
7817601011229592008423281
12814491939404182769539475
38282841570818685533137589
39893943304728330352263135
117267593836794179779362913
197057915416468570144702627
586337969183970898896814565
675799844894514912336740911
1993549095225501056249169521
3272612129033008707863251603
9813000610033591312052461493
10173266001408484771580813535
30137771616056104203296268641
50643884262032422527188575139
150067460764265635881358255333
172437765505860562200296238383
512342117472953771456036566897
839818522529453467650609486227
2508891813142320379359897758389
2614529362361980586296269078495
7685131765672974922140201517153
12914190492831906312462400487587
38425658828364874610701007585765
44288542855785494654395594310191

Я бачу візерунок 4с.
Дж. Аткін


@EgorSkriptunoff Так - я використав іншу циклічну структуру, але в іншому випадку це та сама логіка.
DLosc

@DLosc - Чи можна зробити її ще коротшою за допомогою іншого циклу?
Єгор Скриптунов

@EgorSkriptunoff Я використовував техніку гольфу в Python - я не збираюся розміщувати свій код, тому що я можу зробити щось подібне в іншій відповіді, але ви можете знайти цю концепцію на сторінці підказів Python .
DLosc

5

CJam ( тріщини від Dennis)

Довжина <= 4

1737589973457545958193355601

Я не даю цьому дуже високого шансу на виживання, але я все-таки хотів спробувати 4-байтне рішення.

Мій код був саме таким, що розробляв реверс Денніса:

H     Push 17
J     Push 19.
K     Push 20.
#     Power.

Потім CJam друкує весь вміст стека, об'єднаний. Таким чином, результат був 17об'єднаний 19^20.



@Dennis Ok, офіційно позначений як тріщини. Я насправді не очікував, що це витримає, але все одно мені цікаво: ти це жорстоко змусив? Або ти добре здогадався, що я, мабуть, робив?
Рето Кораді

1
Вихід є занадто великим, щоб бути чимось, окрім факторіалу чи потужності, і цей фабричний завод мав би кілька кінцевих нулів. Я почав з того KK#, спробував ще кілька повноважень і нарешті знайшов JK#.
Денніс

5

Луа, ≤ 4 ( тріщиною феерсу)

Вихід:

9.5367431640625e-07

Вам потрібно знайти рядок для Lua REPL, який призводить до константи "1 / M".
Це просто, але не дуже банально.


@ LegionMammal978 - Підказка: У Lua 5.3 REPL можна випустити =перед виразом.
Egor Skriptunoff

Те , що я дійсно знаю, проте, полягає в тому , що немає відповіді тут ...
LegionMammal978

@ LegionMammal978 - Так, вказане вами посилання - це правильне місце для читання. Ви вже маєте всю необхідну інформацію. Просто виріши.
Єгор Скриптунов


цікаве 0x2p-21
нерозв’язання

5

Піп , <= 16 (безпечно)

Це я остаточне подання Піпа, обіцяю. :)

0123456789
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0        9
0123456789

Я буду здивований, якщо хтось знизить це до 16 байт - мені знадобилося досить багато спроб, щоб він підходив. (Прийміть це як виклик, якщо вам подобається!)


Відповідь:

Px:J,tLtP09JsX8x

Цей код використовує заздалегідь задані змінні t= 10 і s= пробіл.

    ,t            Range(10)
   J              Join into string: "0123456789"
Px:               Assign to x and print
      Lt          Loop 10 times:
         09         This is a numeric literal, but it can act like a string "09" because
                    strings and numbers are the same data type in Pip
            sX8     8 spaces
           J        Join left arg on right arg: "0        9"
        P           Print
               x  Last expression in a program is autoprinted: "0123456789"

Це досить класно.
Дж. Аткін

Хм ... Кожне число - це номер стовпця, індексований 0. : - /
ev3commander

@JAtkin Я теж так думаю. ^ _ ^ Пояснення додано.
DLosc

Дуже приємно, є +1;)
J Atkin

4

Рубін, потрісканий кеннітом

Діапазон: ≤64.

#<MatchData "@@" 1:"@" 2:"@">
"#<ArgumentError: unknown command \"\\x00\">\nu#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\nk#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\no#<ArgumentError: unknown command \"\\x00\">\nw#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\n #<ArgumentError: unknown command \"\\x00\">\nc#<ArgumentError: unknown command \"\\x00\">\no#<ArgumentError: unknown command \"\\x00\">\nm#<ArgumentError: unknown command \"\\x00\">\nm#<ArgumentError: unknown command \"\\x00\">\na#<ArgumentError: unknown command \"\\x00\">\nn#<ArgumentError: unknown command \"\\x00\">\nd#<ArgumentError: unknown command \"\\x00\">\n #<ArgumentError: unknown command \"\\x00\">\n\"#<ArgumentError: unknown command \"\\x00\">\n\\#<ArgumentError: unknown command \"\\x00\">\nx#<ArgumentError: unknown command \"\\x00\">\n0#<ArgumentError: unknown command \"\\x00\">\n0#<ArgumentError: unknown command \"\\x00\">\n\"#<ArgumentError: unknown command \"\\x00\">\n@#<ArgumentError: unknown command \"\\x00\">\n@#<ArgumentError: unknown command \"\\x00\">\n"

(І так, весь вихід призначений для STDOUT.)

Задумане рішення:

test'@@'=~/(.)(.)/ rescue p"#{$!}#{p$~}".gsub(//,$!.inspect+$/)


@kennytm Нічого собі, я вражений. Вам навіть вдалося зробити його на один символ коротшим, ніж мій оригінальний код!
Дверна ручка

4

TI-BASIC ( тріснув від Томаса Ква )

Варіант TI-89
Діапазон: ≤8
Вихідна довжина: 460

1257286521829809852522432602192237043962420111587517182185282167859393833998435970616540717415898427784984473447990617367563433948484506876830127174437083005141539040356040105854054119132085436114190914221684704295353373344661986220406465038338295680627940567692710933178603763184382721719223039895582218462276317539764129360057392146874652124017927952151332902204578729865820715723543552685154087469056000000000000000000000000000000000000000000000000000000000

Я не думаю, що ви можете використовувати RIES на цьому, але я сумніваюся, він витримає 7 днів у будь-якому випадку. Ну добре.

Код:

236!


Що таке "REIS"?
mbomb007


4

MATLAB, зламаний Томом Карпентером

Дальність <= 16

ans =

        5760       22320
       13920       53940

Гр, 17 - це найближчий, який я можу отримати!
Том Карпентер

8
Насправді я поки що знайшов 8 способів зробити це в 17 байтах!
Том Карпентер


2
Людина, що було веселим викликом!
Том Карпентер


4

Чт - <= 64 байти, розламаний гістократом.

555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555

Ось 2016 5s; до речі.



4

CJam, ≤8 (безпечно)

\"3.341594\43181\

Оригінальний код:

P`_`_`er

Тобто для початку 3.141592653589793і заміни кожного символу в "3.141592653589793"відповідному символі в "\"3.141592653589793\"". З дублі видалені, це фактично заміна ".123456789з ""35\.49831.


4

Python 2 (безпечно 16)

(1.06779146638-0.024105112278j)

Діапазон ≤ 16. Якщо версія має значення (для точності друку?), Я використовую ideone .

Я не бачу способу відгадати код без пошуку за комп’ютером, але ви всі раніше мене вражали.


Відповідь:

print.7j**8j**2j

1
Це REPL або повна програма?
lirtosiast

@ThomasKwa Повна програма.
xnor

Використовується dir(complex)для того, щоб побачити, які опі визначаються для складних чисел. Я не знав, що ти можеш використовувати модуль. Зауважте, що це, мабуть, не буде корисним, але, можливо, ...
mbomb007

3

JavaScript ES6, ≤128 байт - тріщини

Вихід (1124 байти):

00371223425266831021221451701972262572903253624014424855305776266777307858429019621025109011571226129713701445152216011682176518501937202621172210230524022501260227052810291730263137325033653482360137223845397040974226435744904625476249015042518553305477562657775930608562426401656267256890705772267397757077457922810182828465865088379026921794109605980210001102021040510610108171102611237114501166511882121011232212545127701299713226134571369013925141621440114642148851513015377156261587716130163851664216901171621742517690179571822618497187701904519322196011988220165204502073721026213172161021905222022250122802231052341023717240262433724650249652528225601259222624526570268972722627557278902822528562289012924229585299303027730626309773133031685320423240132762331253349033857342263459734970353453572236101364823686537250376373802638417388103920539602400014040240805412104161742026424374285043265436824410144522449454537045797462264665747090475254796248401488424928549730501775062651077515305198552442529015336253825542905475755226556975617056645571225760158082585655905059537600266051761010615056200262501630026350564010

Весело та удачі!

Оригінальний код:

new Array(254) .fill(0).map((x,s)=>s*s-s/((5-s)||3)).map(Math.floor).join``

Still safe :3
Conor O'Brien

1
Мені це сподобалось. Тріщини
SLuck49

@ SLuck49 Я опублікував код.
Conor O'Brien

3

TI-BASIC (тріщин Томас Ква)

Діапазон: <= 2

Рядок: -10

Код: Xmin

Тут просто не обдурюють цього хлопця ...


Ви його ще не зламали, чи не так?
спагето

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

У Python це ~9(бітова інверсія)
user193661

Звичайно, але вам доведеться відповісти на це TI-BASIC. У будь-якому випадку це насправді не має значення; Томас уже тріснув. Я думаю, він чекає просто, щоб було приємно (?).
спагетто


3

AppleScript, ≤ 2 байти тріщини

"Брут змушений ... бурмоче бурчання ..."

Що це? Коротка відповідь AppleScript? : o

відсутнє значення

(так, це робить друк для stdout)


a=або a- 1=або 1-або? Я поняття не маю =)
недолік

Ні. Вони будуть кинуті на STDERR як помилка № -2741.
Аддісон Кримп


1
@squeamishossifrage Ви можете скоротити його на один байт say"Cracked.", і, якщо ви не заперечуєте проти граматики, ще один байт say"Cracked". c:
Addison Crump


3

GolfScript (безпечно)

44460233687688399109436699097976761322375660878906252846699686946304

Діапазон ≤ 8

Рішення

{9?7*}.%

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

Як це працює

  • {9?7*} штовхає цей блок на стеку.

  • .% дублює блок і відображає його… над собою.

    GolfScript виконує кастинг типів, як ні завтра. У цьому випадку інтерпретатор очікує ітерабельного, тому оригінальний блок буде переданий до масиву, отримуючи такий масив кодів символів: [57 63 55 42] .

  • Сам блок піднімає кожен код символів до дев'ятої потужності ( 9?), після чого множує результат на сім ( 7*).

    Для чотирьох символьних кодів у масиві це натискає

    44460233687688399
    109436699097976761
    32237566087890625
    2846699686946304
    

    Перед виходом інтерпретатор друкує чотири цілі числа без роздільників.

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