c# - 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;
解决方案
您将需要计算 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;
推荐阅读
- typescript - 为许多导入模式和智能感知编写打字稿
- reactjs - 无法从公用文件夹加载图像
- sql - 特使代理背后的omnidb
- angular - 按钮启用和禁用单击相同的坐标角度
- mariadb - 服务器的rsync和克隆
- c - 使用 malloc 进行 CPU 与 Wall time 测量的奇怪差异
- android - 如何修复 LeakCanary 报告的 android.app.OpApplicationPackageManagerInjector 中的内存泄漏?
- windows - 根据文件名子字符串创建目录并将文件移动到其中
- php - 排除未分配帖子的 wp 类别
- python - 如何使用漂亮的汤和 python 刮卡细节