list - J 如何制作随机数的形状

标签 list j

在这种情况下,我正在尝试创建一个随机数(0 或 1)的形状,因为我正在尝试创建一个扫雷字段。

我尝试过使用“?”随机符号来接收它,但它通常会变成一个随机的、重复的模式,这对我来说是不令人满意的:

5 5 $ ? 0 1

0 1 0 1 0
1 0 1 0 1
0 1 0 1 0
1 0 1 0 1
0 1 0 1 0

因此,我尝试了其他方法,例如从索引中提取数字(这称为滚动)。但这会返回随机小数。对代码的其他小改动也产生了这些随机小数。

最佳答案

我自己也做过几次。关键是当你应用 ? 时。如果在创建矩阵后应用它,您将获得所需的结果。

我们知道 ?2 返回随机生成的 10 值。

   ? 2
0
   ? 2
1
   ? 2
0

所以如果我们创建一个 2 的 5X5 矩阵

   5 5 $ 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2

然后我们将 ? 应用于矩阵中的每个 2 你会得到随机的 10位置。

   ? 5 5 $ 2 NB. first 5 X 5 matrix of random 1's and 0's
0 0 0 1 1
1 1 1 0 1
0 0 0 0 1
1 1 1 1 0
1 1 1 0 0

   ? 5 5 $ 2  NB. different 5 X 5 matrix of random 1's and 0's
0 0 0 1 1
1 0 1 1 0
0 0 0 1 1
1 0 0 1 0
1 1 1 0 0

关于list - J 如何制作随机数的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50140073/

相关文章:

j - 连接/连接数字列表以获取字符串

j - Dynamic If "Power Of"收集结果

python - 在Python中快速旋转点列表

c# - 如何迭代两个项目之间的集合?

java - 双链表困惑

j - 算术平均向前还是向后?

list - Prolog - 列表中最常见的长度为 N 的序列

java - 创建可变参数的 List<?>

j - 当我尝试向这个 J 程序添加第二个 hook/fork 时,我得到了意想不到的结果。谁能解释为什么?

J 如何让方程自相乘?