當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。