当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Guava BigIntegerMath factorial()用法及代码示例


Guava BigIntegerMath类的factorial(int n)方法用于查找给定数字的阶乘。它返回n !,即前n个正整数的乘积。

用法:

public static BigInteger factorial(int n)

参数:此方法将数字n作为要查找其阶乘的参数。


返回值:此方法返回给定数字n的阶乘。

异常:如果n <0,则此方法引发IllegalArgumentException。

注意:

  • 如果n == 0,则该方法返回1。
  • 结果占用O(n log n)空间,因此请谨慎使用。
  • 这使用高效的二进制递归算法来计算具有平衡乘法的阶乘。

以下示例说明了BifIntegerMath.factorial()方法:

范例1:

// Java code to show implementation of 
// factorial() 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 n1 = 10; 
  
        // Using factorial(int n) method of 
        // Guava's BigIntegerMath class 
        BigInteger ans1 = BigIntegerMath.factorial(n1); 
  
        System.out.println("Factorial of " + n1 
                           + " is:" + ans1); 
  
        int n2 = 12; 
  
        // Using factorial(int n) method of 
        // Guava's BigIntegerMath class 
        BigInteger ans2 = BigIntegerMath.factorial(n2); 
  
        System.out.println("Factorial of " + n2 
                           + " is:" + ans2); 
    } 
}
输出:
Factorial of 10 is:3628800
Factorial of 12 is:479001600

范例2:

// Java code to show implementation of 
// factorial() 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 n1 = -5; 
  
            // Using factorial(int n) method of 
            // Guava's BigIntegerMath class 
            // This should throw "IllegalArgumentException" 
            // as n < 0 
            BigInteger ans1 = BigIntegerMath.factorial(n1); 
  
            System.out.println("Factorial of " + n1 
                               + " is:" + ans1); 
        } 
        catch (Exception e) { 
            System.out.println("Exception:" + e); 
        } 
    } 
}
输出:
Exception:java.lang.IllegalArgumentException:n (-5) must be >= 0

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



相关用法


注:本文由纯净天空筛选整理自Sahil_Bansall大神的英文原创作品 BigIntegerMath factorial() function | Guava | Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。