Skip to content

Instantly share code, notes, and snippets.

@danybeltran
Last active November 20, 2022 18:12
Show Gist options
  • Save danybeltran/ce15dabaca28abce97eaddc9b088a1fd to your computer and use it in GitHub Desktop.
Save danybeltran/ce15dabaca28abce97eaddc9b088a1fd to your computer and use it in GitHub Desktop.
Obtener el factorial de un número recursivamente
function factorial(numero) {
let multiplicador1 = numero
// Un número abajo
let multiplicador2 = numero - 1
// Aquí se va sumando el resultado de cada vuelta
let resultado = 0
// Si el número es 1, sólo retornamos 1
if (numero == 1) {
return numero
}
const getNewValue = () => {
// multiplicamos ambos números
resultado = multiplicador1 * multiplicador2
// En la siguiente vuelta, el multiplicador1 será el resutado
multiplicador1 = resultado
// Si el multiplicado2 es uno, ya llegamos al final
if (multiplicador2 === 1) {
return resultado
} else {
// Sino, reducimos en 1
multiplicador2 = multiplicador2 - 1
return getNewValue()
}
}
return getNewValue()
}
factorial(4) // --> 24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment