二项式系数表 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; }

输出

更新于: 2020年7月9日

7K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告