Мы все знаем или, по крайней мере, слышали о брейкфаке , одном из самых известных и влиятельных эзотерических языков. Хотя в настоящее время большинство реализаций используют бесконечную ленту, оригинальный компилятор Урбана Мюллера имел ленту из 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опцию, чтобы ваша программа остановилась, если она выходит за пределы.
.. Я выигрываю.