Тайный струнный принтер (Cops)

60

Нить грабителей можно найти здесь: 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-байтовую программу Pyth, но вы не можете опубликовать 128-байтовую программу как в Java 7, так и в Java 8.
  • Человек с наибольшим количеством очков побеждает.

Материалы

Каждая заявка должна содержать следующую информацию:

  • Название языка. Все новые решения грабителей должны быть на одном языке.
  • Диапазон размера программы (это ближайшая степень на два больше, чем размер программы; например, если ваша программа имеет размер 25 байт, это будет «≤32»).
  • Фактическая строка для печати.
  • Если отправка безопасна, укажите в заголовке «safe» и длину программы (с точностью до ближайшей степени 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). Наконец, я взял каждый 1 000 000-й символ этого списка ( %^T6). В результате получается что-то похожее на список строк, но подозрительно отсутствует его конечная скобка.

isaacg
источник
нет ли рядом ]?
Maltysen
1
@ Малтысен Нет.
Исаак
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

Окончание. Распечатать беспорядок ошибок, которые мы слили вместе

JimmyJazzx
источник
14

Mathematica, безопасный, диапазон ≤ 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

Matlab, ≤16. Взломанный Wauzl

Диапазон ≤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 11.10.15
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.

histocrat
источник
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°.

Чтобы добавить некоторую защиту от грубой силы, я использовал преобразование градусов в радианы, немного неясную особенность, но этого было недостаточно.

lirtosiast
источник
10
@ Конор О'Брайен, чтобы записать десятичную дробь, нужно всего 10 байтов!
Арктур
1
Вот список всех команд TI-84 + BASIC, а также полная документация.
lirtosiast
2
Точно также, Томас (и я предполагаю, что большинство людей) считает, что sin(в TI-BASIC такие вещи, как 1 байт. Так что примерно так 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 в символ, который становится кодовой точкой 65535 из-за переноса символов (см. Этот совет ). iзатем преобразует символ обратно в int, то есть 65535.

Наконец, bпреобразует строку Infinityв базу 65535, чтобы получить вышеуказанное число.

Sp3000
источник
6

Javascript (консоль), <= 32 ( взломан insertusernamehere )

"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'.replace (/ (а) / г, массив)

Объяснение:

Когда вы вызываете replaceс помощью регулярного выражения с /gфлагом и функцией, он заменяет все, что соответствует регулярному выражению, результатом вызова функции с такими аргументами: совпадающая строка, каждая группа захвата в совпадающей строке, индекс, в котором совпадает строка вся строка и вся строка. В этом случае это будут «a», «a», 0 или 4 или 6 и «a, b, a, a». Все эти аргументы передаются в конструктор Array, который просто создает массив всего переданного. Затем replaceпреобразует его в строку, например, «a, a, 0, a, b, a, a» и заменяет «a» характер с этим.

histocrat
источник
Получил до 37 байтов. Это выглядит как гекс, так что надеюсь, что это помогает.
mbomb007
Трещины? :)
insertusername здесь
1
Я не могу снова проголосовать, но это довольно хорошая программа.
insertusername здесь
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
DLosc
источник
Я вижу образец 4s.
Дж Аткин
трещины?
Егор Скриптунов
@EgorSkriptunoff Да - я использовал другую структуру зацикливания, но в остальном это та же логика.
DLosc
@DLosc - можно ли сделать еще короче с помощью другого цикла?
Егор Скриптунов
@EgorSkriptunoff Я использовал технику игры в гольф на Python - я не собираюсь публиковать свой код, потому что я мог бы сделать что-то подобное в другом ответе, но вы можете найти концепцию на странице советов по Python .
DLosc 15.10.15
5

CJam ( взломанный Деннисом)

Длина <= 4

1737589973457545958193355601

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

Мой код был именно тем, что разработал Деннис:

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

Затем CJam печатает все содержимое стека в сцепленном виде. Таким образом, вывод был 17объединен с 19^20.

Рето Коради
источник
Трещины.
Деннис
@Dennis Хорошо, официально помечены как взломанные. Я действительно не ожидал, что это выдержит, но я все равно заинтересован: ты перебрал это? Или у вас было хорошее предположение о том, что я, вероятно, сделал?
Рето Коради
1
Вывод слишком велик, чтобы быть чем-то иным, кроме факториала или степени, и факториалы такого большого размера будут иметь несколько конечных нулей. Я начал с KK#, попробовал еще несколько способностей и наконец нашел JK#.
Деннис
5

Луа, ≤ 4 ( трещины от feersum)

Выход:

9.5367431640625e-07

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

Егор Скриптунов
источник
@ LegionMammal978 - Подсказка: в Lua 5.3 REPL можно опустить =перед выражением.
Егор Скриптунов
То , что я действительно знаю, однако, заключается в том , что нет ответа здесь ...
LegionMammal978
@ LegionMammal978 - Да, ссылка, которую вы дали, является правильным местом для чтения. У вас уже есть вся необходимая информация. Просто решите это.
Егор Скриптунов
треснул
feersum
интересное не решение: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"
DLosc
источник
Это довольно круто.
Дж Аткин
Хм ... Каждое число - это номер столбца с 0 индексами. : - /
ev3commander
@JAtkin Я тоже так думаю. ^ _ ^ Объяснение добавлено.
DLosc
Очень хорошо, есть +1;)
J Аткин
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
@kennytm Ух ты, я впечатлен. Вам даже удалось сделать его на один символ короче моего исходного кода!
Дверная ручка
4

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

Вариант TI-89
Диапазон: ≤8
Выходная длина: 460

1257286521829809852522432602192237043962420111587517182185282167859393833998435970616540717415898427784984473447990617367563433948484506876830127174437083005141539040356040105854054119132085436114190914221684704295353373344661986220406465038338295680627940567692710933178603763184382721719223039895582218462276317539764129360057392146874652124017927952151332902204578729865820715723543552685154087469056000000000000000000000000000000000000000000000000000000000

Я не думаю, что вы можете использовать RIES для этого, но я сомневаюсь, что он все равно выживет 7 дней. Ну что ж.

Код:

236!
DankMemes
источник
Трещины
lirtosiast
Что такое "REIS"?
mbomb007
@ mbomb007 mrob.com/pub/ries
DankMemes
4

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

Диапазон <= 16

ans =

        5760       22320
       13920       53940
Стьюи Гриффин
источник
Grr, 17 - самый близкий, который я могу получить!
Том Карпентер
8
На самом деле я до сих пор нашел 8 способов сделать это в 17 байтах!
Том Карпентер
2
Взломано
Том Карпентер
2
Человек, который был забавным испытанием!
Том Карпентер
4

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

555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555

Это 2016 5s; Кстати.

pppery
источник
треснул
гистократ
4

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

\"3.341594\43181\

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

P`_`_`er

То есть для начала 3.141592653589793и замените каждый символ "3.141592653589793"на соответствующий символ в "\"3.141592653589793\"". При удалении дубликатов он фактически заменяется ".123456789на ""35\.49831.

jimmy23013
источник
4

Python 2 (безопасный 16)

(1.06779146638-0.024105112278j)

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

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


Ответ:

print.7j**8j**2j
XNOR
источник
1
Это REPL или полная программа?
lirtosiast
@ThomasKwa Полная программа.
xnor
Используется dir(complex)для просмотра того, какие операции определены для комплексных чисел. Я не знал, что вы могли бы использовать модуль. Обратите внимание, что это вряд ли будет полезно, но, возможно, ...
mbomb007
3

JavaScript ES6, ≤128 байт - Cracked

Выход (1124 байта):

00371223425266831021221451701972262572903253624014424855305776266777307858429019621025109011571226129713701445152216011682176518501937202621172210230524022501260227052810291730263137325033653482360137223845397040974226435744904625476249015042518553305477562657775930608562426401656267256890705772267397757077457922810182828465865088379026921794109605980210001102021040510610108171102611237114501166511882121011232212545127701299713226134571369013925141621440114642148851513015377156261587716130163851664216901171621742517690179571822618497187701904519322196011988220165204502073721026213172161021905222022250122802231052341023717240262433724650249652528225601259222624526570268972722627557278902822528562289012924229585299303027730626309773133031685320423240132762331253349033857342263459734970353453572236101364823686537250376373802638417388103920539602400014040240805412104161742026424374285043265436824410144522449454537045797462264665747090475254796248401488424928549730501775062651077515305198552442529015336253825542905475755226556975617056645571225760158082585655905059537600266051761010615056200262501630026350564010

Удачи и удачи!

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

new Array(254) .fill(0).map((x,s)=>s*s-s/((5-s)||3)).map(Math.floor).join``
Конор О'Брайен
источник
Still safe :3
Конор О'Брайен
1
Я наслаждался этим. Трещины
SLuck49
@ SLuck49 Я отправил код.
Конор О'Брайен
3

TI-BASIC (взломан Томасом Ква)

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

Строка: -10

Код: Xmin

Там просто нет дурака этот парень ...

спагетто
источник
Вы еще не взломали это, не так ли?
спагетто
1
Мне было бы очень грустно, если бы вы сделали это довольно умно, имо.
спагетто
В Python это ~9(инверсия битов)
user193661
Конечно, но вы должны ответить на него в TI-BASIC. Во всяком случае, это не имеет значения; Томас уже взломал его. Я думаю, что он ждет, чтобы быть хорошим (?).
спагетто
Трещины
lirtosiast
3

AppleScript, ≤ 2 байта взломан

"Жестокое принуждение ... ворчание ворчание ..."

Что это? Короткий ответ AppleScript? : о

недостающее значение

(да, это печатает на стандартный вывод)

Аддисон Крамп
источник
a=или a- 1=или 1-или?
Понятия
Нет. Те будут выбрасывать в STDERR как ошибка # -2741.
Эддисон Крамп
osascript -e 'сказать "треснувший".'
брезгливый оссифраж
1
@squeamishossifrage Вы можете сократить это на один байт, используя say"Cracked.", и, если вы не возражаете против грамматики, еще один байт say"Cracked". c:
Эддисон Крамп
3

GolfScript (безопасный)

44460233687688399109436699097976761322375660878906252846699686946304

Диапазон ≤ 8

Решение

{9?7*}.%

Попробуйте онлайн.

Как это устроено

  • {9?7*} толкает этот блок в стеке.

  • .% дублирует блок и отображает его ... на себя.

    GolfScript выполняет приведение типов, как будто завтра нет. В этом случае интерпретатор ожидает итерацию, поэтому исходный блок преобразуется в массив, давая следующий массив кодов символов: [57 63 55 42] .

  • Сам блок поднимает каждый символьный код до девятой степени ( 9?), а затем умножает результат на семь ( 7*).

    Для четырехсимвольных кодов в массиве это

    44460233687688399
    109436699097976761
    32237566087890625
    2846699686946304
    

    Перед выходом интерпретатор печатает четыре целых числа без разделителей.

Деннис
источник