假设我们必须多次计算 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]