У нас есть проблема с выводом вашего собственного счета , но кажется, что все ответы там просто жестко закодированы, и это скучно 1 . Итак, давайте иметь новый вызов. Ваша программа должна вывести свою собственную длину в байтах, за которой следует строка " bytes"
, но для предотвращения использования жестко закодированных решений, если мы уменьшим его размер, удалив какой-либо один байт, новая программа также должна вывести свой новый счетчик байтов, за которым все еще следует " bytes"
. Выходные данные не должны быть чувствительными к регистру. Вы также можете выбрать вывод новой строки.
Ваши ответы будут оцениваться в байтах с меньшим количеством байтов, тем лучше.
1: мне действительно нравятся некоторые ответы там.
code-golf
radiation-hardening
self-referential
Пост Рок Гарф Хантер
источник
источник
:(
1 bytes
технически неправильная грамматика, но при условии, что языки не имеют встроенной функции для вывода строки« байты »в <= 2 байта, программа будет длиннее 3 байтов, поэтому она не имеет значение "- это не имеет значения в любом случае.Ответы:
Backhand ,
40 3629 байтПопробуйте онлайн! Проверка!
Если есть сомнения, удвойте все. При этом используется способность Backhand перемещаться более чем на один шаг за раз, чтобы реализовать избыточность. Все непечатные файлы имеют значение байта 28.
Объяснение:
Необлученная программа:
Облучаемая программа:
Если какой-либо символ удален, каждый символ после этого сдвигается вниз.
Тем не менее, вместо того, чтобы перейти к
]
, он вместо этого отражает конец программы и приземляется наO
вместо.источник
Рунические чары , 47 байт
Попробуйте онлайн!
Это более или менее порт моего ответа счетчика Гейгера , но с другим выводом (который сам по себе является портом ответа Кляйна).
>>yyLL
требуется для Runic для генерации (как минимум) одного IP, объединения двух IPS и отражения влево, так что все изменения приводят к одному перемещающемуся влево IP. Может быть заменено,yy<<
но не сохраняет байты.Отражатели справа направляют IP в нижнюю левую строку, поэтому удаление верхнего правого из них позволяет IP в верхнюю правую строку. Удаление байта в любом месте вдоль верхней линии приводит к тому, что верхний отражатель располагается выше L (что позволяет программе войти в правый нижний угол). Удаление байта вдоль нижней части корректирует этот отражатель (или удаляет его) так, что последний символ неявно заполняется пробелом, что позволяет IP отскочить с обеих сторон от верхнего правого отражателя и в верхнюю правую строку.
Однако лишние места разочаровывают. Но все попытки уменьшить их привели к появлению более крупных программ, программ одинакового размера или программ, которые не на 100% защищены от радиации. Ответы Klein и> <> здесь используют функции, недоступные в руническом языке.
источник
> <> ,
4339 байтПопробуйте онлайн! Проверка!
В ООН-облученной программы, мы добавим
0
к'
(39), и в облученной программе мы пропускаем 0 и добавить-1
к нему вместо этого. Если что-то удаляется из верхнего ряда, мы вместо этого смещаемся в нижний ряд и просто выводим38 bytes
.источник
Гексагония , 71 байт
Попробуйте онлайн! Проверка!
Я потратил слишком много времени, пытаясь вписать это в шестигранник размера 5, но вместо этого мне пришлось довольствоваться размером 6
:(
.Expanded:
Первоначально я сделал это с
)
одной строкой ниже, но оказалось, что это именно то, где разрыв между шестигранниками размера 5 и размера 6. Это означает, что когда байт удаляется, размер все смещается вниз и разрушает пути. Я определенно уверен, что размер 5 возможен.источник
)
строку ниже, а затем просто поставить неактивную после нее, чтобы получился шестиугольник размера 6?Кляйн 000, 41 байт
Попробуйте онлайн! JoKing's Verifier
Я думаю, что этот ответ похож на ответ ДжоКинга> <> , но я не читаю> <>, поэтому я не уверен.
Здесь есть 4 различных типа удаления байтов
Байт удаляется из первой строки раньше
/
. В этом случае косая черта эффективно перемещается влево на один пробел, отклоняя ее в нижнюю строку и предотвращая выполнение измененной части кода. Это заставляет нас запускать код("40 bytes"@
, который выводит40 bytes
.Первый
/
удаляется из первой строки. В этом случае мы запускаем код"0"+"4"$" bytes"@
, который является запутанным способом или печатью40 bytes
.Новая строка удалена. Это заставляет нас начинать с конца второй строки, и результирующий код (с удаленными noops)
1("40 bytes"@
, который просто печатает40 bytes
.Байт из последней строки удаляется. Это приводит к
1
смещению в конце первой строки влево и предотвращает его добавление в стек, когда указатель отклоняется на/
. Код"0"+
по этой причине толкает0
вместо1
, остальная часть кода превращается0
в40 bytes
.Кляйн 001, 41 байт
Попробуйте онлайн! JoKing's Verifier
Вот ответ с использованием другой топологии. Это тот же самый размер, но я думаю, что есть место для улучшения.
источник