J 如何制作随机数的形状
J how to make a shape of random numbers
在这种情况下,我正在尝试制作随机数(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
因此,我尝试了其他方法,例如从索引中提取数字(这称为滚动)。但是这个 returns 随机小数。对代码的其他小改动也导致了这些随机小数。
我自己也做过几次。关键是当你应用 ?
时。如果在创建矩阵后应用它,您会得到想要的结果。
我们知道 ?2
returns 一个 1
或一个 0
随机生成的值。
? 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
,你会得到每个位置的随机 1
或 0
。
? 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
在这种情况下,我正在尝试制作随机数(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
因此,我尝试了其他方法,例如从索引中提取数字(这称为滚动)。但是这个 returns 随机小数。对代码的其他小改动也导致了这些随机小数。
我自己也做过几次。关键是当你应用 ?
时。如果在创建矩阵后应用它,您会得到想要的结果。
我们知道 ?2
returns 一个 1
或一个 0
随机生成的值。
? 2
0
? 2
1
? 2
0
因此,如果我们创建 2
个
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
,你会得到每个位置的随机 1
或 0
。
? 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