Introdução
Neste laboratório, aprenderemos como encontrar o fatorial de um número dado usando recursão na linguagem de programação C. O fatorial é denotado por '!' e é o produto de todos os inteiros positivos que são menores ou iguais ao número dado. Por exemplo, o fatorial de 5 é 5 x 4 x 3 x 2 x 1 = 120.
Inicialize a função main()
Na função main, declararemos variáveis para armazenar o valor inserido e o fatorial calculado. Em seguida, solicitaremos ao usuário que insira um valor para o qual o fatorial será encontrado.
#include <stdio.h>
int main()
{
int num, factorial;
printf("Enter a number: ");
scanf("%d", &num);
}
Crie a função para calcular o fatorial usando recursão
Agora criaremos uma função chamada 'factorial' que recebe um parâmetro inteiro 'num' e retorna um valor inteiro. Nesta função, usaremos recursão para calcular o fatorial do número dado. Se o valor do número dado for igual a 1 ou 0, retornaremos 1, pois o fatorial de ambos os valores é 1. Se o número dado for maior que 1, calcularemos seu fatorial usando recursão e retornaremos o valor.
int factorial(int num)
{
if(num == 0 || num == 1)
{
return 1;
}
else
{
return num * factorial(num-1);
}
}
Chame a função fatorial na função main e imprima o resultado
Agora chamaremos a função 'factorial' dentro da função 'main' e passaremos o valor inserido como parâmetro. Em seguida, armazenaremos o valor retornado na variável 'factorial' e imprimiremos o resultado no console.
#include <stdio.h>
int factorial(int num);
int main()
{
int num, factorial;
printf("Enter a number: ");
scanf("%d", &num);
factorial = fact(num);
printf("Factorial of %d is %d", num, factorial);
return 0;
}
Compile e execute o programa
Agora que o programa foi escrito, salve o arquivo como 'main.c' no diretório '~/project/'. Abra o terminal e navegue até o diretório que contém o arquivo 'main.c'. Use o seguinte comando para compilar o programa:
gcc main.c -o main
Após o programa ser compilado com sucesso, use o seguinte comando para executar o programa:
./main
Código completo de 'main.c'
Use este código como referência, se necessário.
#include <stdio.h>
int factorial(int num);
int main()
{
int num, factorial;
printf("Enter a number: ");
scanf("%d", &num);
factorial = factorial(num);
printf("Factorial of %d is %d", num, factorial);
return 0;
}
int factorial(int num)
{
if(num == 0 || num == 1)
{
return 1;
}
else
{
return num * factorial(num-1);
}
}
Resumo
Neste laboratório, aprendemos como calcular o fatorial de um número dado usando recursão em C. Criamos uma função que usa recursão para encontrar o fatorial e uma função principal (main function) para inserir um número e chamar a função fatorial.



