在数学中,正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,计为 n!。 例如 5 的阶乘计为 5!,其值为 120:5!= 5 × 4 × 3 × 2 × 1 = 120 。 并定义,1 的阶乘 1!为 1、0 的阶乘 0!亦为 1,其中,0 的阶乘表示一个空积。
计算数字的阶乘。
- 使用递归。
- 如果
n
小于或等于1
,则返回1
。 - 否则,返回
n
的乘积和n - 1
的阶乘。 - 如果
n
是负数,抛出TypeError
。
const factorial = (n) =>
n < 0
? (() => {
throw new TypeError('Negative numbers are not allowed!')
})()
: n <= 1
? 1
: n * factorial(n - 1)
factorial(6) // 720
此示例来自 30 seconds of code 的 factorial