迷失是一种二维编程语言,其中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是否向西移动;变成[
如果ip在水平移动!
跳过下一个操作?
从堆栈顶部弹出,如果不为零,则跳转:
复制堆栈的顶部$
交换堆栈的前两个项目(
从堆栈弹出并推送到示波器)
从示波器弹出并推入堆栈0
-9
将n推入栈顶"
开始和结束字符串文字。在字符串期间,不运行文字命令,而是将其字符值压入堆栈。+
将前两个数字相加*
将前两个数字相乘-
将顶部乘以-1%
关闭安全#
开启安全@
如果安全关闭(启动),则结束执行
如果您尝试从堆栈中交换两个值,但是只有一个值,或者尝试从空堆栈中弹出,会发生什么?
—
pppery
@ppperry堆栈用隐式零填充。
—
发布Rock Garf Hunter,
有关语言的信息太少。它包裹吗?什么是“安全”?Bracets的描述具有误导性?如何使用范围?
—
死者负鼠,
@DeadPossum我试图保持简洁。它确实包装。问题中已经说明了安全性。我不知道您对括号的意思。
—
发布Rock Garf Hunter,
[]
充当门,<>
指向方向并()
从示波器中存储和调用。范围用于存储值。
@WheatWizard那么安全性只是条件
—
死负鼠,
@
还是其他用例?关于方括号,我不了解此部分:becomes ] if the ip is moving horizontally
。向东移动也是水平的,不是吗?