n = 5
k = 3
x = 1
for i in range(1, n + 1):
x = x * i
y = 1
for i in range(1, k + 1):
y = y * i
z = 1
for i in range(1, n - k + 1):
z = z * i
c = x / (y * z)
p = 1
for i in range(k):
p = p * (1 / 6)
q = 1
for i in range(n - k):
q = q * (5 / 6)
result = c * p * q
因此,下面的代码计算投掷5个骰子时恰好看到3个6的概率。但是,我不确定这段代码中的循环。
我知道:
n = number of trials
k = number of successes
And p/q success/failure?
但是循环在做什么,我不确定变量x,y,z和c。传统上,我只会使用能力来获取此类问题的答案,但我不确定这种方法。
谢谢
答案 0 :(得分:2)
似乎c是二项式系数,用于该概率计算。 并使用循环来计算所需的阶乘(x为n!,y为k!,z为(n-k)!)。
p和q的循环确实用于计算成功/失败概率的幂。
,此代码会更好