Sequence NODE_148
Easy

Factorial of a Number

JavaScript
Technical Specification

Given a non-negative integer n, return n! (n factorial).

Input/Output Samples
Input:5
Output:120
Input:0
Output:1
Optimal Logic Path
function factorial(n) {
  if (n === 0) return 1;
  return n * factorial(n - 1);
}
Architectural Deep-Dive
We use recursion with a base case. Each call multiplies n by factorial of n - 1.