Programa Java para encontrar o fatorial de um número usando recursão

Neste programa, você aprenderá a encontrar e exibir o fatorial de um número usando uma função recursiva em Java.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:

  • Métodos Java
  • Java Recursion

O fatorial de um número positivo n é dado por:

 fatorial de n (n!) = 1 * 2 * 3 * 4 * … * n

O fatorial de um número negativo não existe. E o fatorial de 0 é 1.

Você aprenderá a encontrar o fatorial de um número usando a recursão neste exemplo. Visite esta página para saber como encontrar o fatorial de um número usando o loop.

Exemplo: fatorial de um número usando recursão

 public class Factorial ( public static void main(String() args) ( int num = 6; long factorial = multiplyNumbers(num); System.out.println("Factorial of " + num + " = " + factorial); ) public static long multiplyNumbers(int num) ( if (num>= 1) return num * multiplyNumbers(num - 1); else return 1; ) )

Resultado

 Fatorial de 6 = 720

Inicialmente, o multiplyNumbers()é chamado a partir da main()função com 6 passado como argumento.

Como 6 é maior ou igual a 1, 6 é multiplicado para o resultado de multiplyNumbers()onde 5 (num -1) é passado. Uma vez que é chamado da mesma função, é uma chamada recursiva.

Em cada chamada recursiva, o valor do argumento num é diminuído em 1 até que num alcance menos de 1.

Quando o valor de num é menor que 1, não há chamada recursiva.

E cada chamada recursiva retorna, nos dando:

 6 * 5 * 4 * 3 * 2 * 1 * 1 (para 0) = 720

Artigos interessantes...