我需要为一个纸牌游戏生成一个介于1到52之间的随机数(我知道如何)。
我可以使用random (52)直接引用包中的每一张卡,也可以使用random(4)和random(13)分别获得套装和价值。
我可以用r div 13和r mod 13 + 1从1到52之间的数字中得到西装和价值。
但我想知道产生两个随机数是否会影响结果的“随机性”。因为产生的数字会是伪随机数,所以这可能会在某种程度上影响它?
如果低的数字4和13对52没有什么区别,这会成为一个问题吗?
发布于 2016-01-20 10:38:06
如果您使用的是一个低质量的PRNG (比如您的平均rand()实现:当然,它会影响一些东西,但是在不知道您的确切PRNG实现和您的确切代码的情况下,它不会以一种很容易预测的方式出现。)其中一种可能比另一种“更好”,在某种价值上“更好”。
如果你用的是高质量的PRNG:不,没关系。去疯狂吧。
https://stackoverflow.com/questions/34897610
复制相似问题