Exemplo para encontrar o fatorial de um inteiro não negativo (inserido pelo usuário) usando recursão.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação C ++:
- Funções C ++
- Tipos de funções definidas pelo usuário em C ++
- C ++ if, if … else e aninhado if … else
- C ++ Recursion
Este programa pega um número inteiro positivo do usuário e calcula o fatorial desse número. Suponha que o usuário digite 6 e,
O fatorial será igual a 1 * 2 * 3 * 4 * 5 * 6 = 720
Você aprenderá a encontrar o fatorial de um número usando uma função recursiva neste exemplo.
Visite esta página para aprender como você pode usar loops para calcular o fatorial.
Exemplo: Calcular fatorial usando recursão
#include using namespace std; int factorial(int n); int main() ( int n; cout <> n; cout << "Factorial of " << n << " = " < 1) return n * factorial(n - 1); else return 1; )
Resultado
Insira um número inteiro positivo: 6 Fatorial de 6 = 720
No programa acima, suponha que o usuário insira um número 6. O número é passado para a factorial()
função.
Nesta função, 6 é multiplicado pelo fatorial de (6 - 1 = 5). Para isso, o número 5 é passado novamente para a factorial()
função.
Da mesma forma, na próxima iteração, 5 é multiplicado pelo fatorial de (5 - 1 = 4). E, 4 é passado para a factorial()
função.
Isso continua até que o valor alcance 1 e a função retorne 1.
Agora, cada função retorna o valor para calcular 1 * 2 * 3 * 4 * 5 * 6 = 720, que é retornado para a main()
função.