Вы должны написать 100-байтовую программу brainfuck длиной BF.
Один символ будет удаляться из него всеми возможными способами из 100 новых (длиной 99 байт) программ. Например , для программы ++.>.
на 5 Подпрограммы +.>.
, +.>.
, ++>.
, ++..
и ++.>
.
Ваша оценка будет равна числу уникальных результатов, которые генерируют 100 программ. Чем выше оценка, тем лучше.
Детали
- Ваши программы будут прерваны после вывода первого символа.
- Неверные или не завершающиеся программы и программы, генерирующие пустые выходные данные, не засчитываются в счет.
- Ячейки BF являются 8-битовыми упаковочными. (255 + 1 = 0, 0-1 = 255)
- Ваша программа не вводится. Если вы используете
,
в коде, он устанавливает текущую ячейку в0
. - В левой части исходной позиции нет ячеек. Например
<.
, недействительно, но.<
допустимо, поскольку выполнение прекращается в.
. Лента не ограничена в другом направлении. - Программы с несбалансированными скобками (
[
и]
) недействительны. - Ваша исходная программа может быть короче 100 байтов, так как ее легко расширить до 100 байтов без изменения оценки.
- Ваша оригинальная программа не должна быть действительным кодом BF.
Вы можете использовать эту программу python3 (ideone link), чтобы определить оценку вашего ответа. (Для долго работающих программ вам может потребоваться изменитьmaxstep
переменную.)
пример
(Для простоты эта программа короче, чем 100 байт.)
Solution: ++,+[-]+><.-,-.
Score: 3
Explanation:
Subprogram => Output
+,+[-]+><.-,-. => 1
+,+[-]+><.-,-. => 1
+++[-]+><.-,-. => 1
++,[-]+><.-,-. => 1
++,+-]+><.-,-. => None
++,+[]+><.-,-. => None
++,+[-+><.-,-. => None
++,+[-]><.-,-. => 0
++,+[-]+<.-,-. => None
++,+[-]+>.-,-. => 0
++,+[-]+><-,-. => 255
++,+[-]+><.,-. => 1
++,+[-]+><.--. => 1
++,+[-]+><.-,. => 1
++,+[-]+><.-,- => 1
Unique outputs are [0, 1, 255]
Score is 3 for ++,+[-]+><.-,-. (length = 15)
В случае ничьей победителем становится тот, у кого код короче. (Ваша программа может быть короче 100 байт, как указано в разделе «Сведения».) Если коды имеют одинаковую длину, победителем становится более ранний пользователь.
Бонусная головоломка: без жирного ограничения вы можете найти программу со счетом 100?