|
|
1
3
如果您有任意精度的伪随机数生成,那么您可以将四个输入(x,y,z,seed)连接起来,并在此输入上调用伪随机数生成器函数,以获得“下一个”伪随机数,该伪随机数将作为您的随机数。(如果您希望有一个介于1和n之间的随机数,则取适当数量的高位)。 您提到的实现使用了这样一个事实,即当与输入整数相乘时,不同的大素数(模n)产生基本上不相关的结果(模n。当然,你需要你的输入整数不是都有一个n的通用公约数。这就是为什么要进行额外的位操作,这样,如果所有输入整数都可以被k整除,并且n可以被k除,那么模n的余数也不会自动被k除。无论如何,人们对已建立的伪随机数生成器进行了大量的思考,所以我给你的建议是,你相信他们考虑了所有潜在的问题,如果有大量人毫无怨言地使用它,他们的生成器是“好的”。 |
|
|
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 1 年前 |
|
|
Alisa Petrova · 在有向图中更改一对顶点以创建循环 1 年前 |
|
|
b39b332d · 使用C++标准库实现高效间隔存储 2 年前 |
|
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 2 年前 |
|
|
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 2 年前 |