Last active
November 20, 2022 18:12
-
-
Save danybeltran/ce15dabaca28abce97eaddc9b088a1fd to your computer and use it in GitHub Desktop.
Obtener el factorial de un número recursivamente
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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