function fib(n) {
return n <= 1 ? n
: fib(n - 1) + fib(n - 2);
}
function f(n, k, f_k_minus_2, f_k_minus_1) {
return (k > n) ? f_k_minus_1
: f(n,
k + 1,
f_k_minus_1,
f_k_minus_2 + f_k_minus_1);
}
f(6,2,0,1));
n ! = n * (n - 1) * (n - 2) * ... * 1
n ! = n * (n - 1) ! if n > 1
= 1 if n === 1
n ! = n * (n - 1) ! if n > 1
= 1 if n === 1
function factorial(n) {
return n===1 ? 1 : n * factorial(n-1);
}
factorial(4)
4 * factorial(3)
4 * (3 * factorial(2))
4 * (3 * (2 * factorial(1)))
4 * (3 * (2 * 1))
4 * (3 * 2)
4 * 6
24
/
#