gpt4 book ai didi

Java Math.random() 有多随机?

转载 作者:行者123 更新时间:2023-11-29 06:36:17 26 4
gpt4 key购买 nike

我正在做一个项目,它需要从给定范围内生成两个随机数(同时生成两个随机数,一个接一个)并检查它们是否彼此相等——如果相等,则继续执行另一个代码;如果不是 - 再次生成数字。现在我的问题是,如果我们有一个范围 [0;10],并且第一个随机生成的数字结果是 5,那么第二个数字也是 5 的概率是否与任何其他数字一样好?具体来说, Math.random() 如果连续调用两次,是否有任何“防御”来防止生成相同的数字?或者它“尝试”不生成相同的数字?

最佳答案

连续两次在 [0,10] 范围内生成相同的数字对于任何随机数生成器来说都是完全有效的。如果它采取任何措施来防止它不会是随机的。

在任何调用中,选择任何单个数字的机会应该是 1:11,并且每个选择应该独立于之前的选择,因此在一对中第二个数字与第一个匹配的机会是 11 中的 1。

至于 Math.random() 的随机性,它是伪随机,这意味着它使用一种算法生成一系列以 "开头的均匀分布的数字种子”的值(value)。它不适用于密码学,但非常适合模拟和其他非密码用途。

关于Java Math.random() 有多随机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20172339/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com