Java BigIntegerMath二项式()函数

Java BigIntegerMath二项式()函数

Guava的BigIntegerMath类的 binomial(int n, int k) 方法返回 n选择k ,也被称为n和k的 二项式系数 ,即。

n! / (k! (n - k)!)

语法

public static BigInteger binomial(int n, int k)

参数。这个方法需要以下参数。

  • n : 二项式扩展的基数。
  • k:二项式扩展的功率。

返回值。该方法返回n和k的二项式系数。

异常: 如果n<0,k<0或k>n,该方法会产生 IllegalArgumentException

注意: 结果可能需要多达O(k log n)的空间。

下面的例子说明了 BigIntegerMath.binomial() 方法。

例1 :

// Java code to show implementation of
// binomial(int n, int k) method
// of Guava's BigIntegerMath class
  
import java.math.*;
import com.google.common.math.BigIntegerMath;
  
class GFG {
  
    // Driver code
    public static void main(String args[])
    {
        int n = 5;
        int k = 2;
  
        // Using binomial(int n, int k) method of
        // Guava's BigIntegerMath class
        BigInteger ans = BigIntegerMath.binomial(n, k);
  
        System.out.println("Binomial Coefficient of "
                           + n + " & " + k
                           + " is: " + ans);
  
        int n1 = 15;
        int k1 = 9;
  
        // Using binomial(int n, int k) method of
        // Guava's BigIntegerMath class
        BigInteger ans1 = BigIntegerMath.binomial(n1, k1);
  
        System.out.println("Binomial Coefficient of "
                           + n1 + " & " + k1
                           + " is: " + ans1);
    }
}

输出。

Binomial Coefficient of 5 & 2 is: 10
Binomial Coefficient of 15 & 9 is: 5005

例2 :

// Java code to show implementation of
// binomial(int n, int k) method
// of Guava's BigIntegerMath class
  
import java.math.*;
import com.google.common.math.BigIntegerMath;
  
class GFG {
  
    // Driver code
    public static void main(String args[])
    {
  
        try {
            int n = 5;
            int k = 7;
  
            // Using binomial(int n, int k) method of
            // Guava's BigIntegerMath class
            // This should raise "IllegalArgumentException"
            // as k > n
            BigInteger ans = BigIntegerMath.binomial(n, k);
  
            System.out.println("Binomial Coefficient of"
                               + n + " & " + k
                               + " is: " + ans);
        }
        catch (Exception e) {
            System.out.println("Exception: " + e);
        }
    }
}

输出。

Exception: java.lang.IllegalArgumentException: k (7) > n (5)

参考资料: https://google.github.io/guava/releases/21.0/api/docs/com/google/common/math/BigIntegerMath.html#binomial-int-int-

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程