首页 > 解决方案 > C#中的二项式系数

问题描述

嗨,我需要找到一种算法来计算二项式系数。 https://imgur.com/a/nGCw4n7 n 为 3,而 k 必须从 0 变为 3。

我发现这个链接与解释如何计算二项式系数的代码http://csharphelper.com/blog/2014/08/calculate-the-binomial-coefficient-n-choose-k-efficiently-in-c/但是当没有分配 k 时,我不知道该怎么办。

这是我找到的代码:

decimal result = 1;
for (int i = 1; i <= K; i++)
{
    result *= N - (K - i);
    result /= i;
}
return result;

标签: c#

解决方案


您将需要计算 4 个系数;对于二项式的每一项:

decimal[] result = new decimal[N + 1];
for (int k = 0; k <= N; k++)
{
    result[k] = 1;
    for (int i = 1; i <= k; i++)
    {
        result[k] *= N - (k - i);
        result[k] /= i;
    }
}
return result;

推荐阅读