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