Skip to content

Latest commit

 

History

History
40 lines (29 loc) · 1.36 KB

每日一算法:阶乘.md

File metadata and controls

40 lines (29 loc) · 1.36 KB

每日一算法:阶乘

在数学中,正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,计为 n!。 例如 5 的阶乘计为 5!,其值为 120:5!= 5 × 4 × 3 × 2 × 1 = 120 。 并定义,1 的阶乘 1!为 1、0 的阶乘 0!亦为 1,其中,0 的阶乘表示一个空积。

JavaScript 实现

计算数字的阶乘。

  • 使用递归。
  • 如果 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

LeetCode 关于阶乘的题目

更多资料

Factorial