Lost - это двумерный язык программирования, где начальная позиция и направление ip полностью случайны.
Это делает очень трудным создание детерминированных потерянных программ. Однако сегодня мы не пишем детерминированную программу, мы пишем ГСЧ.
Напишите программу Lost, которая не требует ввода и выводит одну цифру (0,1,2,3,4,5,6,7,8 или 9), причем все цифры имеют одинаковую вероятность вывода. Поскольку начальное местоположение и направление Lost являются единственным источником случайности, единственный способ сделать это состоит в том, чтобы каждое местоположение в вашем источнике выводило различное число от 0 до 9 с одинаковым числом, выводящим каждую цифру.
Вы можете вычислить вероятность каждой цифры, используя -Q
флаг и вставляя его в этот скрипт Python.
import sys
a=sys.stdin.read().split()[:-1]
for x in range(10):print x,':',a.count(`x`)
print[x for x in a if x not in list("1234567890")]
Это код-гольф, поэтому ответы будут оцениваться в байтах, причем меньше байтов будет лучше.
Обзор Lost
Lost - это скрытый неявный IO 2D-язык, который берет многое из формы Кляйна. Вот краткий список того, что делают потерянные команды
\
,/
,|
Зеркала IP -<
,^
,>
,v
Переводит внутрибрюшинно в направлении[
Отражает IP, если он движется на восток; становится]
если ip движется горизонтально]
Отражает IP, если он движется на запад; становится[
если ip движется горизонтально!
Пропускает следующую операцию?
Выскакивает с вершины стека и прыгает если не ноль:
Дублирует вершину стека$
Меняет местами два верхних стека(
Выскакивает из стека и толкает в прицел)
Выскакивает из области и толкает в стек0
-9
толкает n к вершине стека"
Начинает и заканчивает строковый литерал. Во время строки буквальные команды не запускаются и вместо них их символьные значения помещаются в стек.+
Добавляет два верхних числа*
Умножает два верхних числа-
Умножает вершину на -1%
Выключает безопасность#
Включает безопасность@
Завершает выполнение, если безопасность выключена (запускается)
[]
действовать как двери,<>
указывать в направлениях и()
хранить и отзывать из области видимости. Область используется для хранения значений.@
или есть другие варианты использования? Насчет скобок, я не понимаю эту частьbecomes ] if the ip is moving horizontally
. Двигаться на восток тоже горизонтально, не так ли?Ответы:
81101 байтЭто может быть в гольфе дальше ...
Попробуйте онлайн!
источник
0
имеет 7/101 шанс быть распечатаны (любой из<
или^
под его блока, плюс>
и%
символ),1
-8
есть 10/101 шанс, и9
есть 11/101 шанс. Тогда, похоже, может быть шанс, что это будет продолжаться вечно.Потерян , 54 байта
Попробуйте онлайн!
Просто скопируйте ответ pppery и сделайте что-нибудь случайное. Я ничего не знаю о потерянном языке. И я даже не знаю, что происходит для вышеуказанных кодов. Это работа? (Я не знаю)
источник
-Q
работает? В любом случае вывод выглядит нормально распределенным. Было бы неплохо иметь полную спецификацию языка, содержащегося в вопросе.-Q
работает. Поскольку язык случайный, проверка выполняется путем запуска всех возможностей.-Q
делает это и печатает все результаты. Чем короче программа, тем меньше возможностей и меньше результатов-Q
.