var combination = (n, m) => {
if (n == null || m == null) throw Error(' 参数缺少或不能为空')
if (n < 0 || m < 0) throw Error(' The parameter passed in cannot be negative.')
if (n === 0 || m === 0) return 1
if (n < m) [n, m] = [m, n];
return factorial(n, m) / factorial(m);
};
var factorial = (n, m = n) => {
if (!n) { return 0 }
if (n < 0) {
throw Error(' The parameter passed in cannot be negative.')
}
if (n < m) [n, m] = [m, n];
if (n <= 1 || m <= 0) return 1;
if (m === 1) return n;
else return (n * factorial(n - 1, m - 1));
}
console.log(factorial(5))
console.log(combination(0,2))
console