Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] Factorial DUDA

2.Crea una función que calcule el valor del factorial de un número pasado como parámetro.

function calcularFactorial(numero) { if (numero === 0 || numero === 1) { return 1; } else { return numero * calcularFactorial(numero - 1); } } // Ejemplo de uso let numero = 5; let resultado = calcularFactorial(numero); console.log(El factorial de ${numero} es ${resultado});

Consulta, no recuerdo porque le agrega ( -1 ) en return numero * calcularFactorial(numero - 1);

1 respuesta

¡Hola Santiago, espero que estés bien!

La razón por la que se resta 1 en la línea return numero * calcularFactorial(numero - 1); es porque el cálculo del factorial implica la multiplicación de todos los números enteros positivos desde 1 hasta el número dado. Al restar 1 en cada llamada recursiva, se asegura de que el cálculo del factorial avance hacia abajo hasta llegar a 1, lo que indica el final del cálculo.

Por ejemplo, si queremos calcular el factorial de 5, la secuencia de llamadas sería: 5 * calcularFactorial(4) 4 * calcularFactorial(3) 3 * calcularFactorial(2) 2 * calcularFactorial(1)

Al llegar a 1, la función devuelve 1, y luego se realiza la multiplicación sucesiva para obtener el factorial de 5.

Espero que esto aclare tu duda. ¡Sigue practicando y mejorando en tu aprendizaje de programación!

Espero haber ayudado y buenos estudios!