Programa JavaScript para encontrar factorial de números usando recursividad

En este ejemplo, aprenderá a escribir un programa JavaScript que encuentre el factorial de un número usando la recursividad.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de JavaScript:

  • Recurrencia de JavaScript
  • Declaración de JavaScript if … else

El factorial de un número es el producto de todos los números del 1 por ese número. Por ejemplo,

factorial de 5 es igual a 1 * 2 * 3 * 4 * 5 = 120 .

El factorial de un número positivo n viene dado por:

 factorial of n (n!) = 1 * 2 * 3 * 4… n

El factorial de números negativos no existe y el factorial de 0 es 1 .

Ejemplo: encontrar factorial usando recursividad

 // program to find the factorial of a number function factorial(x) ( // if number is 0 if (x == 0) ( return 1; ) // if number is positive else ( return x * factorial(x - 1); ) ) // take input from the user const num = prompt('Enter a positive number: '); // calling factorial() if num is positive if (num>= 0) ( const result = factorial(num); console.log(`The factorial of $(num) is $(result)`); ) else ( console.log('Enter a positive number.'); )

Salida

 Ingresa un número positivo: 4 El factorial de 4 es 24

En el programa anterior, se solicita al usuario que ingrese un número.

Cuando el usuario ingresa un número negativo, aparece un mensaje Ingrese un número positivo. se muestra.

Cuando el usuario ingresa un número positivo o 0 , factorial(num)se llama a la función .

  • Si el usuario ingresa el número 0 , el programa devolverá 1 .
  • Si el usuario ingresa un número mayor que 0 , el programa se llamará a sí mismo de manera recursiva disminuyendo el número.
  • Este proceso continúa hasta que el número se convierte en 1. Luego, cuando el número llega a 0, se devuelve 1.

Aquí,

 factorial (4) devuelve 4 * factorial (3) factorial (3) devuelve 4 * 3 * factorial (2) factorial (2) devuelve 4 * 3 * 2 * factorial (1) factorial (1) devuelve 4 * 3 * 2 * 1 * factorial (0) factorial (0) devuelve 4 * 3 * 2 * 1 * 1

Articulos interesantes...