题目
Description
数学天才fans曾经说过一句话:组合数的计算是一件非常简单的事情。组合数的计算真的是一件非常简单的事情吗?请你自己去尝试一下吧!
Input
输入中的一些整数对n,m(m≤n≤20)
Output
输出其组合数。
Sample Input
5 2
18 13
Sample Output
10
8568
代码块
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cn = new Scanner(System.in);
while(cn.hasNext()){
int m = cn.nextInt();
int n = cn.nextInt();
BigInteger sum = fictorial(m).divide(fictorial(n).multiply(fictorial(m-n)));//进行组合数方式计算
System.out.println(sum);
}
}
public static BigInteger fictorial(int n){//递归计算阶乘
return n<=1? new BigInteger(Integer.toString(1)):fictorial(n-1).multiply(new BigInteger(Integer.toString(n)));
}
}