Напишите брейкфук-программу длиной не более 256 символов, которая делает столько шагов, сколько возможно, но не зацикливается бесконечно. Программа может не принимать никаких входных данных.
Более конкретно:
- Предположим, бесконечное количество клеток справа.
- А
<
когда в самой левой ячейке ничего не происходит. -
Значение , когда клетка является нуль - множества клеток , чтобы255
.- Все инструкции
+-<>.
учитываются как один шаг при выполнении. - Когда встречается
[
или]
, это считается одним шагом. Однако, если условие истинно и поток управления скачет, соответствующий]
или[
больше не засчитывается как шаг. - Решение, которое принимает большинство шагов, побеждает.
- Если в вашем решении есть какой-то шаблон, предоставление функции для определения количества шагов, которые
n
должна выполнить подобная программа длины , приветствуется, но не является обязательным. - Для подсчета инструкций вы можете использовать этот модифицированный интерпретатор :
Пример:
++[-]
Появились инструкции ++[-]-]
, и программа запустилась за 7 шагов.
float
или double
примитивы, используемые для обычных повседневных вычислений. (В этот момент компьютер в основном просто манипулирует строками, представляющими уравнение)