二项式系数表 C 程序
给定一个正整数,例如 'val',任务是打印二项式系数 B(n, k) 的值,其中 n 和 k 是 0 到 val 之间的任意值,并显示结果。
什么是二项式系数
二项式系数 (n, k) 是从给定的 'n' 种可能性中选择 'k' 个结果的顺序。正 n 和 k 的二项式系数的值由下式给出
$$C_k^n=\frac{n!}{(n-k)!k!}$$
其中,n >= k
示例
Input-: B(9,2) Output-:
$$B_2^9=\frac{9!}{(9-2)!2!}$$
$$\frac{9\times 8\times 7\times 6\times 5\times 4\times 3\times 2\times 1}{6\times 5\times 4\times 3\times 2\times 1)\times 2\times 1}=\frac{362,880}{1440}=252$$
什么是二项式系数表
二项式系数表用于计算 n 和 k 之间可以生成的多个值。
示例
Input-: value = 5 Output-:
以下程序中使用的方案如下 −
- 从用户处输入变量 'val' 以生成表格
- 从 0 到 'val' 开始循环,因为二项式系数的值将在 0 到 'val' 之间
如果 n 和 k 不为 0,则应用给定的公式
B(m, x) = B(m, x - 1) * (m - x + 1) / x
- 打印结果
算法
START Step 1-> declare function for binomial coefficient table int bin_table(int val) Loop For int i = 0 and i <= val and i++ print i Declare int num = 1 Loop For int j = 0 and j <= i and j++ If (i != 0 && j != 0) set num = num * (i - j + 1) / j End print num End print
Step 2-> In main() Declare int value = 5 call bin_table(value) STOP
示例
#include <stdio.h> // Function for binomial coefficient table int bin_table(int val) { for (int i = 0; i <= val; i++) { printf("%2d", i); int num = 1; for (int j = 0; j <= i; j++) { if (i != 0 && j != 0) num = num * (i - j + 1) / j; printf("%4d", num); } printf("
"); } } int main() { int value = 5; bin_table(value); return 0; }
输出
广告