【发布时间】:2019-12-28 20:35:33
【问题描述】:
def galton(m, n):
if m == 0:
if n == 0:
return 1
else:
return 0
else:
if n == 0:
return 1
else:
return (galton(m-1, n-1) + galton(m-1, n))
你好, 有人知道我可以如何将此代码从递归更改为迭代吗? 我用高尔顿公式试过了,但我只得到了概率。
代码:
import operator as op
from functools import reduce
def ncr(n, r):
r = min(r, n-r)
numer = reduce(op.mul, range(n, n-r, -1), 1)
denom = reduce(op.mul, range(1, r+1), 1)
return numer / denom *(0.5**n)
【问题讨论】:
-
不确定你所说的概率是什么意思。为什么要乘以
(0.5**n)?
标签: python recursion iteration