JavaScript 如何计算两个整数n和k的二项式系数

JavaScript 如何计算两个整数n和k的二项式系数

以下是二项式系数的常见定义。

二项式系数C(n, k)可以定义为在展开式(1 + x)^n中x^k的系数。二项式系数C(n, k)还可以给出从n个对象中无序地选择k个对象的方式的数量,更正式地说,是一个n元素集合的k元素子集(或k组合)的数量。

问题说明:编写一个函数,接受两个参数n和k,并返回二项式系数C(n, k)的值。例如,对于n = 4和k = 2,函数应返回6,对于n = 5和k = 2,函数应返回10。

方法:以下是创建返回两个整数的二项式系数的函数的步骤。

  • 创建一个接受n和k两个参数的函数。
  • 现在检查n和k是否都是数字。如果它们中的一个或两个都不是数字,则返回NaN。
  • 现在检查k是否小于0或k是否大于n。如果其中一个条件为true,则返回0。
  • 现在检查k是否等于1或k是否等于n。如果其中一个条件为true,则返回1。
  • 现在检查k是否等于1或k是否等于(n-1)。如果其中一个条件为true,则返回n。
  • 现在编写获取二项式系数的逻辑。

示例:此示例显示了上述解释的方法。

<script> 
    function binomialCoefficient (n, k){ 
      
      // Checking if n and k are integer 
      if(Number.isNaN(n) || Number.isNaN(k)){ 
        return NaN; 
      } 
      
      if(k < 0 || k > n){ 
        return 0 
      } 
      
      if(k === 0 || k === n){ 
        return 1 
      } 
      
      if(k === 1 || k === n - 1){ 
        return n 
      } 
      
      let res = n; 
      for(let i = 2; i <= k; i++){ 
        res *= (n - i + 1) / i; 
      } 
      
      return Math.round(res); 
    } 
      
    console.log(binomialCoefficient(10, 2)) 
</script>

输出结果:

45

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程