java.util.Random挖掘得有点深
我在阅读Java书籍中的数据结构和算法时,遇到了以下问题,我希望获得帮助: 假设给您一个数组A,其中包含100个整数,这些整数是使用方法r.nextInt(10)生成的,其中r是java.util.Random类型的对象。设x表示A中整数的乘积。有一个数x的概率至少等于0.99。那个数字是多少?描述x等于那个数字的概率的公式是什么 我认为java.util.Random挖掘得有点深,java,random,formula,probability,Java,Random,Formula,Probability,我在阅读Java书籍中的数据结构和算法时,遇到了以下问题,我希望获得帮助: 假设给您一个数组A,其中包含100个整数,这些整数是使用方法r.nextInt(10)生成的,其中r是java.util.Random类型的对象。设x表示A中整数的乘积。有一个数x的概率至少等于0.99。那个数字是多少?描述x等于那个数字的概率的公式是什么 我认为x等于零;因为很可能会生成0。然而,这只是一个猜测。我找不到公式。没有指定随机化方程,我无法在这里或使用谷歌搜索后找到任何相关主题 我想得到一些关于概率公式的帮
x
等于零;因为很可能会生成0。然而,这只是一个猜测。我找不到公式。没有指定随机化方程,我无法在这里或使用谷歌搜索后找到任何相关主题
我想得到一些关于概率公式的帮助。提前谢谢。
正如您已经预料到的,它将是0
r.nextInt(10)
将返回从0到9的数字
任何0*1-9的乘积都是0,因此对于100个随机数,此函数不返回0的可能性非常低。
正如您已经预料到的,它将是0
r.nextInt(10)
将返回从0到9的数字
任何0*1-9的乘积都将是0,因此对于100个随机数,此函数不返回0的可能性非常低。数组元素的可能值为0。。9,每个概率为1/10。如果其中一个元素为0,则乘积也将为0。所以我们计算至少一个元素为0的概率 事实证明,这与所有元素都大于零相反。一个元素大于0的概率为9/10,因此所有元素大于0的概率为(9/10)^100
因此,至少一个元素为0的概率为1-(9/10)^100,约为0.9999734。数组元素的可能值为0。。9,每个概率为1/10。如果其中一个元素为0,则乘积也将为0。所以我们计算至少一个元素为0的概率 事实证明,这与所有元素都大于零相反。一个元素大于0的概率为9/10,因此所有元素大于0的概率为(9/10)^100
因此,至少一个元素为0的概率为1-(9/10)^100,约为0.9999734。关于
nextInt
:javadoc规定:
在0(含0)和
指定值(独占)
“均匀分布”是指每个结果的可能性相等的分布
因此,特定结果的概率为“1/[可能结果的数量]”(因此它们加起来都是1)
关于阵列:
填充阵列可视为观察100个统计上独立的事件
你应该仔细阅读,当组合多个独立事件时,数学是如何工作的。关于
nextInt
:javadoc规定:
在0(含0)和
指定值(独占)
“均匀分布”是指每个结果的可能性相等的分布
因此,特定结果的概率为“1/[可能结果的数量]”(因此它们加起来都是1)
关于阵列:
填充阵列可视为观察100个统计上独立的事件
你应该仔细阅读,当组合多个独立事件时,数学是如何工作的。这个问题不是关于
java.util.Random
。这是一个关于概率的一般数学问题——任何统一的随机发生器都会得到相同的答案。因为它是乘积,而不是我错误理解的总和,是的,x
在大多数情况下应该是0。但在这100个数字中,没有一个0出现的可能性很小,因此概率为0.99。我不确定这个概率的确切公式,但我相信它是沿着1(0的概率,也就是1/10,除以它发生的概率,也就是100)的路线。这个问题不是关于java.util.Random
。这是一个关于概率的一般数学问题——任何统一的随机发生器都会得到相同的答案。因为它是乘积,而不是我错误理解的总和,是的,x
在大多数情况下应该是0。但在这100个数字中,没有一个0出现的可能性很小,因此概率为0.99。我不确定这个概率的确切公式,但我相信它是沿着1-(0的概率,等于1/10,除以它发生的概率,等于100)。