我需要在1到52之间生成一个随机数,用于纸牌游戏(我知道如何)。
我可以使用random (52)
直接引用包中的每张卡片,或者我可以random(4)
和random(13)
分别获取套装和价值。
我可以使用r div 13
和r mod 13 + 1
从1到52之间的数字中得到套装和值。
但我想知道生成两个随机数是否会影响"随机性"结果。由于生成的数字将是伪随机数,因此可能会以某种方式影响它?
如果低数字4和13对52不会产生影响,那么这个可能成为一个问题吗?
答案 0 :(得分:3)
如果你正在使用低质量的PRNG(就像你的平均rand()
实施一样:当然它会影响内容,但不会以一种容易预测的方式而不知道你的确切PRNG实现和你的确切代码。其中一个可能比另一个更好,#34;更好"。
如果你正在使用优质的PRNG:Nah,那不重要。狂野。