From 4ea1ad0bb8a8d62c433b1bab3df3596ad23c0b12 Mon Sep 17 00:00:00 2001 From: trainer2001 <95953188+trainer2001@users.noreply.github.com> Date: Sun, 12 Dec 2021 15:39:32 +0530 Subject: [PATCH] Add factorialRecursiveTCO --- .../math/factorial/factorialRecursiveTCO.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/algorithms/math/factorial/factorialRecursiveTCO.js diff --git a/src/algorithms/math/factorial/factorialRecursiveTCO.js b/src/algorithms/math/factorial/factorialRecursiveTCO.js new file mode 100644 index 00000000..804b8202 --- /dev/null +++ b/src/algorithms/math/factorial/factorialRecursiveTCO.js @@ -0,0 +1,12 @@ +/** + * @param {number} number + * @return {number} + */ + export default function factorialRecursiveTCO(number) { + function fact(number, accumulator = 1) { + if (number < 2) return accumulator; + else return fact(number - 1, accumulator * number); + } + + return fact(number); +}