2020-04-02
描述
计算一个数字的阶乘。
提示
- 使用递归
- 如果
n
小于0
则抛出异常 - 如果
n
等于1
或者0
,则返回1
- 如果
n
大于1
,则返回n
和n-1
阶乘的乘积
代码
const factorial = n =>
n < 0
? (() => {
throw new TypeError('Negative numbers are not allowed!');
})()
: n <= 1
? 1
: n * factorial(n - 1);
示例
计算 6 的阶乘:
factorial(6); // 720