Lost - це 2-D мова програмування, де положення старту та напрямок ip повністю випадкові.
Це дуже ускладнює створення детермінованих програшів. Однак сьогодні ми не пишемо детермінованої програми, ми пишемо RNG.
Напишіть програму, яка втратила, яка не вводить і виводить одну цифру (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")]
Це код-гольф, тому відповіді будуть набиратись у байтах, менша кількість байтів - краща.
Огляд втрачених
Втрачено - це обговорена неявна мова IO 2D, яка бере багато з форми Кляйна. Ось коротка таблиця того, що роблять втрачені команди
\
,/
,|
Дзеркала IP -<
,^
,>
,v
Перекладає внутрибрюшинно в напрямку[
Відбиває ip, якщо він рухається на схід; стає,]
якщо ip рухається горизонтально]
Відбиває ip, якщо він рухається на захід; стає,[
якщо ip рухається горизонтально!
Пропускає наступну операцію?
Спливає з вершини стека і стрибає, якщо не дорівнює нулю:
Дублює верхню частину стека$
Заміняє два верхні елементи стека(
Вискакує зі стека і підштовхує до розмаху)
Вискакує з розмаху і штовхає до стека0
-9
штовхає n до вершини стека"
Починається і закінчується літеральним рядком. Під час рядкових літеральних команд не виконуються, а замість них їх символи висуваються до стеку.+
Додає два перших числа*
Помножує два верхні числа-
Помножимо верх на -1%
Вимикає безпеку#
Увімкнення безпеки@
Закінчується виконання, якщо безпека вимкнена (починається увімкнено)
[]
діють як двері, <>
вказують на напрямки і ()
зберігають та відкликають із сфери застосування. Область застосування використовується для зберігання значень.
@
чи у неї є інші випадки використання? Про дужках, я не розумію цю частину: becomes ] if the ip is moving horizontally
. Переміщення на схід теж горизонтально, чи не так?