Calculando o Fatorial de um Número em C

CBeginner
Pratique Agora

Introdução

Neste laboratório, aprenderemos como escrever um programa em C para encontrar o fatorial de um número. Usaremos um algoritmo simples para calcular o fatorial usando um loop.

Nota: Você precisa criar o arquivo ~/project/main.c por conta própria para praticar a codificação e aprender como compilar e executá-lo usando o gcc.

cd ~/project
## create main.c
touch main.c
## compile main.c
gcc main.c -o main
## run main
./main

Entendendo o Fatorial

O fatorial (denotado por n!) de um número (digamos n) é o produto de todos os números anteriores a n com o próprio número. Podemos dizer que,

!n = n * !(n - 1)

Por exemplo,

!6 = 6 * 5 * 4 * 3 * 2 * 1 = 720
!12 = 12 * 11 * 10 * 9 * 8 * 7 * !6 = 479,001,600

Pontos importantes:

  • O fatorial de 0 é 1
  • O fatorial de números negativos não existe.

Escrevendo o Algoritmo

Aqui estão os passos a serem seguidos para o programa de fatorial:

  1. Declare as variáveis n e fact=1. n é o número cujo fatorial deve ser calculado e fact é a variável na qual armazenaremos o resultado.
  2. Leia a entrada do usuário em n.
  3. Inicialize o iterador do loop i=1 e execute o loop até i<=n
  4. Faça o seguinte em cada iteração do loop:
    • fact=fact*i
    • i++
  5. Imprima fact.

Escrevendo o Programa em C

Neste programa, usaremos um loop for para encontrar o fatorial de um número.

#include<stdio.h>
int main()
{
    int n,i;
    long int fact=1;
    printf("Enter the number: ");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        fact=fact*i;    // calculating factorial
    }
    printf("Factorial of %d is %ld",n,fact);
    return 0;
}

Testando o Programa

Vamos testar nosso programa executando-o e verificando a saída.

Enter the number: 5
Factorial of 5 is 120

Programa Final

Aqui está o programa final que encontra o fatorial de um número usando um loop for:

#include<stdio.h>
int main()
{
    int n,i;
    long int fact=1;
    printf("Enter the number: ");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        fact=fact*i;    // calculating factorial
    }
    printf("Factorial of %d is %ld",n,fact);
    return 0;
}

Resumo

Neste laboratório, aprendemos como escrever um programa em C para encontrar o fatorial de um número usando um loop for. Usamos um algoritmo simples e seguimos um processo passo a passo para atingir nosso objetivo. O programa recebe uma entrada do usuário, calcula o fatorial usando um loop e imprime o resultado na tela. Cobrimos alguns pontos importantes, como a inicialização de variáveis e os limites dos tipos de dados int e long int.