Calculando o Fatorial Usando Recursão

CBeginner
Pratique Agora

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.