ComputeFactorial

by Matthew Vasallo

JavaScript

// Create a computeFactorialNonRecursive method
// The factorial is computed by multiplying all the preceeding numbers together

const computeFactorialNonRecursive = (num) => {
  if (num < 0) {
    throw new Error("Unable to compute factorial for negative numbers")
  }
  let result = 1
  for (let i = 2; i <= num; i++) {
    result = result * i
  }
  return result
}

console.log("non-recursive: ", computeFactorialNonRecursive(4))

const computeFactorialRecursively = (num) => {
  return num <= 1 ? num : computeFactorialRecursively(num - 1) * num
}

console.log("recursive: ", computeFactorialNonRecursive(3))