random - 在 Befunge 中生成随机数

标签 random befunge

我想在 Befunge 中生成一个随机数,从 0 到 n,其中 n 是一个任意数。我该怎么做呢?
我想试试这个(这个例子有 2 个链接的代码块来展示它是如何工作的):

v  v
?#>?#>
1  1
+  +
> ^> ^

并根据需要重复,但我需要那段代码的 n 个副本。 有没有更好的方法可以生成其他语言的 rand(0, 10) 之类的随机数?

最佳答案

此代码段将主要执行您想要的操作。 (它在 0 处刹车。)

0v    \<
>?>\1-:|
 1+    >$
 >^

请注意,在我的生成器和你的生成器中,分布都不是平坦的;它是 binomial . 这个 block 将产生一个从 0 到 2^n-1 平滑分布的随机数:

0v  *2\<
>?>\1-:|
 1+    >$
 >^ 

关于random - 在 Befunge 中生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31084774/

相关文章:

c - 难以理解 void 数组并在函数调用中使用它们

c++ - 从一组中随机选择的快速方法,每个条目只选择一次?

befunge - 为什么 Befunge 代码 9332682811>\#+ :#*9-#\_$. @ 输出 52256370?

compilation - 为什么 Befunge 被认为难以编译?

stack - 如何弹出堆栈中的第 N 个项目 [Befunge-93]

java - 不能用java随机设置一个新按钮

c++ - C++/C 中是否有任何有效的构建函数可以快速均匀地采样 b 个条目而不用替换 n 个条目?

c++ - 如何在后续流程启动时确保 RNG 的唯一种子?