public class MathUtil
extends java.lang.Object
| 构造器和说明 |
|---|
MathUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
static long |
combination(int n,
int m)
对数学公式C(n,m)的计算实现
参考公式C(n,m) = n!
|
static long |
factorial(int num)
整数阶乘
参考公式 n!
|
static long |
permutation(int n,
int m)
对数学公式P(n,m)的计算实现,P(n,m)又称为A(n,m)
参考公式P(n,m) = n!
|
public static long factorial(int num)
throws java.lang.IllegalArgumentException
参考公式 n! = n * (n-1) * (n-2) * ... * 1,num 作为参数计算获取结果
注意1:返回值类型为long,本方法在参数num 大于一定值(约20)后就会溢出
特别地,数字0的阶乘是1
num - 入参数字java.lang.IllegalArgumentException - when num < 0public static long permutation(int n,
int m)
throws java.lang.IllegalArgumentException
参考公式P(n,m) = n! / (n-m)!
注意1:返回值类型为long,本方法在超出long类型结果时会溢出
特别地,当 m 和 n同时为0时,结果为1
n - 参数1,元素的总个数m - 参数2,参与排序的元素个数java.lang.IllegalArgumentException - when n < m or m < 0public static long combination(int n,
int m)
throws java.lang.IllegalArgumentException
参考公式C(n,m) = n! / ((n-m)! * m!)
注意1:返回值类型为long,本方法在超出long类型结果时会溢出
特别地,当 n 为0时,结果
n - 参数1,元素的总个数m - 参数2,参与组合的元素个数java.lang.IllegalArgumentException - when n < m or m < 0