Encontrar el factorial de un número en C

CBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderemos a escribir un programa en C para encontrar el factorial de un número. Utilizaremos un algoritmo simple para calcular el factorial utilizando un bucle.

Nota: Debes crear el archivo ~/project/main.c tú mismo para practicar la codificación y aprender cómo compilar y ejecutarlo utilizando gcc.

cd ~/project
## crear main.c
touch main.c
## compilar main.c
gcc main.c -o main
## ejecutar main
./main

Comprendiendo el factorial

El factorial (denotado por n!) de un número (digamos n) es el producto de todos los números anteriores a n con el número mismo. Podemos decir que:

!n = n *!(n - 1)

Por ejemplo:

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

Puntos importantes:

  • El factorial de 0 es 1.
  • El factorial de números negativos no existe.

Escribiendo el algoritmo

A continuación se describen los pasos que se deben seguir para el programa del factorial:

  1. Declarar las variables n y fact=1. n es el número cuyo factorial se va a calcular y fact es la variable en la que almacenaremos el resultado.
  2. Leer la entrada del usuario en n.
  3. Inicializar el iterador del bucle i=1 y ejecutar el bucle hasta que i<=n
  4. Realizar lo siguiente en cada iteración del bucle:
    • fact=fact*i
    • i++
  5. Imprimir fact.

Escribiendo el programa en C

En este programa, usaremos un bucle for para encontrar el factorial de un 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;    // calculando el factorial
    }
    printf("Factorial de %d es %ld",n,fact);
    return 0;
}

Probando el programa

Probemos nuestro programa ejecutándolo y verificando la salida.

Enter the number: 5
Factorial de 5 es 120

Programa final

A continuación se presenta el programa final que encuentra el factorial de un número utilizando un bucle 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;    // calculando el factorial
    }
    printf("Factorial de %d es %ld",n,fact);
    return 0;
}

Resumen

En este laboratorio, aprendimos cómo escribir un programa en C para encontrar el factorial de un número utilizando un bucle for. Utilizamos un algoritmo simple y seguimos un proceso paso a paso para alcanzar nuestro objetivo. El programa toma una entrada del usuario, calcula el factorial utilizando un bucle y muestra el resultado en la pantalla. Cubrimos algunos puntos importantes como la inicialización de variables y los límites de los tipos de datos int y long int.