Neste exemplo, você aprenderá a escrever um programa JavaScript que encontra o fatorial de um número usando recursão.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação JavaScript:
- Recursão de JavaScript
- JavaScript if… else declaração
O fatorial de um número é o produto de todos os números de 1 a esse número. Por exemplo,
fatorial de 5 é igual a 1 * 2 * 3 * 4 * 5 = 120 .
O fatorial de um número positivo n é dado por:
factorial of n (n!) = 1 * 2 * 3 * 4… n
O fatorial de números negativos não existe e o fatorial de 0 é 1 .
Exemplo: Encontrar fatorial usando recursão
// 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.'); )
Resultado
Insira um número positivo: 4 O fatorial de 4 é 24
No programa acima, o usuário é solicitado a inserir um número.
Quando o usuário insere um número negativo, uma mensagem Insira um número positivo. é mostrado.
Quando o usuário insere um número positivo ou 0 , a função factorial(num)
é chamada.
- Se o usuário inserir o número 0 , o programa retornará 1 .
- Se o usuário inserir um número maior que 0 , o programa se chamará recursivamente, diminuindo o número.
- Este processo continua até que o número se torne 1. Então, quando o número chega a 0, 1 é retornado.
Aqui,
fatorial (4) retorna 4 * fatorial (3) fatorial (3) retorna 4 * 3 * fatorial (2) fatorial (2) retorna 4 * 3 * 2 * fatorial (1) fatorial (1) retorna 4 * 3 * 2 * 1 * fatorial (0) fatorial (0) retorna 4 * 3 * 2 * 1 * 1