Мы все знаем или, по крайней мере, слышали о брейкфаке , одном из самых известных и влиятельных эзотерических языков. Хотя в настоящее время большинство реализаций используют бесконечную ленту, оригинальный компилятор Урбана Мюллера имел ленту из 30000 ячеек. Малоизвестный факт * заключается в том, что на самом деле в конце ленты есть специальное значение, с которым почти никогда не взаимодействуют в типичной программе «мозговая ебля».
Хотя вы можете напечатать это значение с 29999 >
с и a .
, brainfuck известен своими краткими и лаконичными решениями, поэтому ваша цель - напечатать это значение с минимальным количеством символов.
*фантастика
Правила:
- Обновление инструкций по бреду:
+
/-
: Увеличивать / уменьшать текущую ячейку, оборачивая от 255 до 0 при увеличении 255 и наоборот<
/>
: Переместить указатель влево / вправо на ленте.
: Печать значения текущей ячейки.[
: Перейти к соответствующему,]
если значение в ячейке равно 0]
: Перейти к соответствующему,[
если значение в ячейке не равно 0
- В этом случае
,
(Get input) ничего не делает, так как оригинальный компилятор оставляет ячейку неизменной в EOF, и эта программа не должна получать никаких входных данных. - Лента изначально заполнена всеми 0, кроме ячейки 30000, которая содержит неизвестное значение
- Указатель начинается в ячейке 1 и должен заканчиваться в ячейке 30000, напечатав ее.
- Ячейки слева от 1 и справа от 30000 имеют неопределенное поведение, поэтому решения не должны посещать эти ячейки.
- Обратите внимание , что значение на 30000
этоможет быть 0, так просто зацикливание , пока вы не нажмете ненулевая клетка не будет работать. - Вы должны напечатать только значение в ячейке 30000
- Самое короткое решение побеждает!
- Tie-breaker - более эффективная программа (выполняется за наименьшее количество шагов), за которой следует самое быстрое время отправки.
Совет: Esolanging Fruit предлагает использовать https://copy.sh/brainfuck для проверки вашего кода. Спецификации соответствуют описанию в этой задаче, и вы можете выбрать abort
опцию, чтобы ваша программа остановилась, если она выходит за пределы.
.
. Я выигрываю.