Lost est un langage de programmation 2D où la position de départ et la direction de l'ip sont entièrement aléatoires.
Il est donc très difficile de créer des programmes Lost déterministes. Mais aujourd'hui nous n'écrivons pas un programme déterministe, nous écrivons un RNG.
Écrivez un programme perdu qui ne prend aucune entrée et génère un seul chiffre (0,1,2,3,4,5,6,7,8 ou 9), tous les chiffres ayant une probabilité égale d'être sortis. Étant donné que l'emplacement et la direction de départ de Lost sont la seule source d'aléatoire, la seule façon de le faire est de faire en sorte que chaque emplacement de votre source génère un nombre différent de 0 à 9, un nombre égal produisant chaque chiffre.
Vous pouvez calculer la probabilité de chaque chiffre en utilisant l' -Q
indicateur et en le canalisant dans ce script 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")]
Il s'agit de code-golf donc les réponses seront notées en octets avec moins d'octets étant meilleurs.
Un aperçu de Lost
Lost est un langage IO 2D implicite enveloppant qui s'inspire beaucoup du moule de Klein. Voici un petit résumé de ce que font les commandes perdues
\
,/
,|
Miroirs l'IP<
,^
,>
,v
Points l'IP dans une direction[
Reflète l'ip s'il se déplace vers l'est; devient]
si l'ip se déplace horizontalement]
Reflète l'ip s'il se déplace vers l'ouest; devient[
si l'ip se déplace horizontalement!
Ignore la prochaine opération?
Saute en haut de la pile et saute sinon zéro:
Duplique le haut de la pile$
Échange les deux premiers éléments de la pile(
Sort de la pile et pousse vers la portée)
Sort de la portée et pousse vers la pile0
-9
pousse n vers le haut de la pile"
Démarre et termine un littéral de chaîne. Au cours d'une chaîne, les commandes littérales ne sont pas exécutées et à la place, leurs valeurs de caractères sont poussées vers la pile.+
Ajoute les deux premiers chiffres*
Multiplie les deux premiers chiffres-
Multiplie le sommet par -1%
Désactive la sécurité#
Active la sécurité@
Arrête l'exécution si la sécurité est désactivée (démarre)
[]
agir comme des portes,<>
pointer dans des directions et()
stocker et rappeler de la portée. La portée est utilisée pour stocker des valeurs.@
ou at-elle d'autres cas d'utilisation? A propos de parenthèses, je ne comprends pas cette partie:becomes ] if the ip is moving horizontally
. Se déplacer vers l'est aussi horizontalement, n'est-ce pas?Réponses:
81101 octetsCela pourrait être golfable plus loin ...
Essayez-le en ligne!
la source
0
a une chance de 7/101 d'être imprimé (n'importe lequel<
ou^
sous son bloc, plus le symbole>
et%
),1
-8
a une chance de 10/101 et9
a une chance de 11/101. Ensuite, il semble qu'il pourrait y avoir une chance que cela continue pour toujours.Perdu , 54 octets
Essayez-le en ligne!
Je viens de copier la réponse de pppery et de faire des trucs au hasard. Je ne connais rien à la langue perdue. Et je ne sais même pas ce qui se passe pour les codes ci-dessus. C'est du travail? (Je ne sais pas)
la source
-Q
fonctionnement? La sortie semble de toute façon normalement distribuée. Il aurait été bien d'avoir une spécification complète de la langue liée dans la question.-Q
marche. La langue étant aléatoire, la vérification se fait en exécutant toutes les possibilités.-Q
fait cela et imprime tous les résultats. Plus le programme est court, moins il y a de possibilités et moins il y a de sorties-Q
.