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

Neste exemplo, você aprenderá a 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
  • C Funções definidas pelo usuário
  • C Recursão

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

factorial of 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 um loop.

Fatorial de um número usando recursão

#include long int multiplyNumbers(int n); int main() ( int n; printf("Enter a positive integer: "); scanf("%d",&n); printf("Factorial of %d = %ld", n, multiplyNumbers(n)); return 0; ) long int multiplyNumbers(int n) ( if (n>=1) return n*multiplyNumbers(n-1); else return 1; ) 

Resultado

Insira um número inteiro positivo: 6 Fatorial de 6 = 720 

Suponha que o usuário inseriu 6.

Inicialmente, multiplyNumbers()é chamado de main()com 6 passado como um argumento.

Então, 5 é passado multiplyNumbers()da mesma função (chamada recursiva). Em cada chamada recursiva, o valor do argumento n diminui em 1.

Quando o valor de n é menor que 1, não há chamada recursiva e o fatorial é retornado finalmente para a main()função.

Artigos interessantes...