Calcular factorial en C/C++



¿Qué es el factorial?

El factorial de un numero N es la multiplicación de todos los números desde 1, hasta llegar al número N. 

4! = 1x2x3x4 = 24

¿Cómo calcular el factorial de un numero en C/C++?

Podemos crear una función que reciba un número y retorne su respectivo factorial, ejemplo:


long long factorial(int n)
{
    long long f = 1;

    for (int i = n; i >= 1; i--)
    {
        f = f*i;
    }

    return f;
}

Explicación:


  • Utilizamos un tipo de retorno Long Long debido a que el número resultante del factorial puede ser demasiado grande para un tipo Int.

  • El FOR toma por valor inicial el número que deseamos calcularle el factorial y termina cuando el valor llega a 1, debido a que cada ciclo decrementa la variable contador (i--).

  • En cada ciclo, se multiplica la variable “f” por el valor actual del contador, y el resultado se guarda en la misma variable “f".

Código Ejemplo:

#include <iostream>

using namespace std;

long long factorial(int n)
{
    long long f = 1;

    for (int i = n; i >= 1; i--)
    {
        f = f*i;
    }

    return f;
}

int main()
{
    cout << "Factorial de 4 = " << factorial(4) << endl;
}

1 comentario:

  1. y como quedaría si quiero que el numero del factorial lo introduzca el usuario???

    ResponderBorrar