在 Python 中以一种有效的方式在 0 到 n 范围内查找 r 的 nCr 值的程序
假设我们必须多次计算nCr值。我们可以通过这种非常有效的方式来解决。如果我们存储较低的nCr值,我们可以轻松找到较高的值。所以如果我们有n,我们必须找到nC0到nCn的列表。如果答案太大,则返回该模10^9。
因此,如果输入类似于n=6,那么输出将是[1,6,15,20,15,6,1]。
示例
让我们看看以下实现以获得更好的理解-
def solve(n): items = [1] for r in range(1,n+1): items.append(items[-1]*(n-r+1)//r) items[-2] %= 10**9 return items n = 6 print(solve(n))
输入
6输出结果
[1, 6, 15, 20, 15, 6, 1]