Lost es un lenguaje de programación 2D en el que la posición de inicio y la dirección de la IP son completamente aleatorias.
Esto hace que sea muy difícil hacer programas deterministas de Lost. Sin embargo, hoy no estamos escribiendo un programa determinista, estamos escribiendo un RNG.
Escriba un programa Perdido que no ingrese y genere un solo dígito (0,1,2,3,4,5,6,7,8 o 9), con todos los dígitos con la misma probabilidad de ser emitidos. Dado que la ubicación y dirección de inicio de Lost es la única fuente de aleatoriedad, la única forma de hacerlo es hacer que cada ubicación en su fuente genere un número diferente de 0 a 9 con un número igual que genere cada dígito.
Puede calcular la probabilidad de cada dígito utilizando la -Q
bandera y canalizándola en este script de 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")]
Este es el código de golf, por lo que las respuestas se puntuarán en bytes, siendo mejores menos bytes.
Una visión general de Lost
Lost es un lenguaje envolvente IO 2D implícito que toma mucho del molde de Klein. Aquí hay una hoja de trucos rápida de lo que hacen los comandos perdidos
\
,/
,|
Espejos del IP<
,^
,>
,v
Puntos la ip en una dirección[
Refleja la ip si se mueve hacia el este; se convierte]
si la ip se mueve horizontalmente]
Refleja la ip si se mueve hacia el oeste; se convierte[
si la ip se mueve horizontalmente!
Salta la próxima operación?
Salta de la parte superior de la pila y salta si no es cero:
Duplica la parte superior de la pila.$
Intercambia los dos primeros elementos de la pila(
Aparece de la pila y empuja al alcance)
Aparece del alcance y empuja a la pila0
-9
empuja n a la parte superior de la pila"
Inicia y finaliza una cadena literal. Durante una cadena, los comandos literales no se ejecutan y, en cambio, sus valores de caracteres se envían a la pila.+
Agrega los dos primeros números*
Multiplica los dos números superiores-
Multiplica la parte superior por -1%
Desactiva la seguridad.#
Enciende la seguridad@
Finaliza la ejecución si la seguridad está desactivada (comienza)
[]
actuar como puertas, <>
señalar en direcciones y ()
almacenar y recuperar del alcance. El alcance se usa para almacenar valores.
@
o tiene otros casos de uso? Sobre soportes, no entiendo esta parte: becomes ] if the ip is moving horizontally
. Moverse hacia el este también es horizontal, ¿no?