Aprendiendo a Programar en Bloodshed Dev-C++ con Ejemplo y Ejercicios Resueltos Calcular el Factorial de un Número Ingresado en C++

Otro ejercicio común en los cursos de programación es el de diseñar un programa que te calcule el factorial de un número ingresado.

El enunciado sería el siguiente:
Crear un programa que lea un número n y le calcule el factorial.
Bueno pues, vamos allá.

#include <iostream.h>

int a,b,factorial;

int main (void)
{
    cout << "Este programa calculara el factorial del numero entero que ingrese \nPor favor ingrese su numero " <<endl;
    cin >> a;
    factorial=1;
    for (b=1 ; b<=a ; b++)
    {
         factorial=b*factorial;
    }
    
    cout << "El factorial del numero ingresado es " <<factorial<<endl;
    
    system("pause");
    return 0;
}
Al igual que en nuestro anterior ejemplo del programa en C para realizar cálculos de potencias, es muy importante antes del ciclo inicializar el valor de la multiplicación acumulada con el módulo de la multiplicación, que es el uno.
Sin este pequeño detalle, el programa te daría calculos con errores.

49 comentarios:

  1. Gracias por el codigo.

    ResponderEliminar
  2. //aqui tengo un codigo en c++
    #include
    #include

    main()
    {
    int n,i,f;
    cout<<"Ingresar una cantidad:"; cin>>n;
    f=1;


    for(i=1;i<=n;i++)
    {
    cout<<f<<" ";
    f=f*i;

    }
    cout<<"\nEl factorial es:"<<f<<endl;

    getch();
    return 0;
    }

    ResponderEliminar
    Respuestas
    1. hola
      muy bien
      pero que significa cout ???
      es algo asi como el printf ?
      no entiendo eso
      y me marac error al compilar

      Eliminar
    2. El codigo cout es como el printf, pero para c++.

      Eliminar
    3. hola, es una nota muy vieja pero necesito algo de ayuda ahaha
      Yo uso print no cout, pero de tanto verlo me estoy acostumbrando igual...
      La cuestion es ese Cout dentro de la sentencia For... sirve para algo o puedo ovbiarlo?
      for(i=1;i<=n;i++)
      {
      cout<<f<<" ";
      f=f*i;

      }

      Eliminar
    4. bueno pues para empezar creo q el orden en q pusiste el cout esta mal ya q no veo q antes le des un valor a f, pero dejando eso de lado si no pones eso es obvio que cuando ejecutes el programa no imprimira el f

      Eliminar
    5. hola se usa using namespace std antes de int main para q c++ entienda el cout y cin

      Eliminar
  3. de gran ayuda gracias...

    ResponderEliminar
  4. Respuestas
    1. mmm.. un estupido mas que no tiene ni la mas minima idea de como usar su cerebro :D

      Eliminar
  5. yo si se programar bueno casi

    ResponderEliminar
  6. hola a todos...si me pueden ayudar tengo un problema con un ejercicio de vectores....el punto es que devo calcular el factorial de cada uno de los mienbos de un vector de 5 pociciones.. y la verdad lo e intentado pero no me sale...no se si almacenar el valor en una variable temporal para luego obtener el factorial please...si pueden ayudarme les agradeceria mucho....mi correo es edu_skap@yahoo.com

    ResponderEliminar
  7. muy buenos, se los agradesco

    ResponderEliminar
  8. a mi me sale bien hasta que empieza el numero 8
    alli me sale un numero negativo
    que hago???

    ResponderEliminar
    Respuestas
    1. debes introducir un comendo que admita mas dijitos osea ampliar tu espacio como este Long DoubleA que admite exponentes a la 4932

      Eliminar
  9. aoigan quien me puede ayudar nesesito sacar el factorial de un numero ejemplo 5 pero nesesito ke se vea la operacion 5x4x3x2x1 y asi 1x2x3x4x5 nesesito ke sebe la operacion de las dos formas algien ayudeme

    ResponderEliminar
  10. aoigan quien me puede ayudar nesesito sacar el factorial de un numero ejemplo 5 pero nesesito ke se vea la operacion 5x4x3x2x1 y asi 1x2x3x4x5 nesesito ke sebe la operacion de las dos formas algien ayudeme lo siento me iso falta mi correo llymy@hotmail.com porfas

    ResponderEliminar
  11. esta muy bin la pagina........

    ResponderEliminar
  12. necesito saber de este ejerccio

    Crear un servlet que solicite un número de entrada y calcule el factorial de este

    ResponderEliminar
  13. NNNEEEEEEERRRDDDDDSSS!!!!!!!

    ResponderEliminar
  14. Y Como se Mostraría Los pasos internos
    es decir
    que muestre
    2
    6
    24.....

    ResponderEliminar
  15. exelente muchas gracias por sus aportes

    ResponderEliminar
  16. hoa bueno con la restriccion de solo impares??

    ResponderEliminar
  17. MEJOR CREEMOS UN GRUPO EN FACEBOOK Y AHI APORTAMOS CONOCIMIENTOS LA VERDAD SE LES AGRADECE Y ESTE ES MI CODIGO PARA CALCULAR EL FACTORIAL DE UN NUMERO

    #include
    using namespace std;

    int main()
    {
    double num,fact=1;
    cout << "::FACTORIAL::" << endl;
    cout << "Introduce un numero: "; cin >> num;
    for(int i=2; i<=num; i++)
    {
    fact = fact * i;
    }
    cout << "Su factorial es: " << fact;
    cin.get();cin.get();
    return 0;
    }


    POR CIERO ME CUESTA CIEMPRE PROGRAMAR DESDE YA SE LES AGRADECE Y SI CREAN EL GRUPO ME AVISAN POR CORREO: yo.makvell@gmail.com

    ResponderEliminar
  18. muchas gracias , que dios te bendiga

    ResponderEliminar

  19. // un código en c++
    que funciona e imprime el los numero del proceso
    pero yo quiero uno sin usar la función factorial.
    #include
    #include
    #include
    using namespace std;

    int main()
    {
    int n,i,f;
    cout<<"Ingresar una cantidad:"; cin>>n;
    f=1;


    for(i=1;i<=n;i++)
    {
    cout<<f<<" X ";
    f=f*i;

    }
    cout<<"\nEl factorial es:"<<f<<endl;

    return 0;
    }

    ResponderEliminar
  20. animal no sirve tu codigo ! CHTM !

    ResponderEliminar
    Respuestas
    1. wey! si sirve razonalo un poco y si lo haces te daras cuenta que le falta el using namespace std;

      Eliminar
  21. La de finici ón del factorial de un n úmero es:
    n! = n*(n-1)*(n-2)...1
    Adem as la regla dice que 0! = 1
    ejemplo: factorial de 5 = 5!=5*(5-1)*(5-2)*(5-3)*(5-4)=120 y esto se aplica para cualquier número.

    (en c++ de python 2)

    n=int(raw_input("entero positivo:"))
    x=1
    for f in range (n):
    x=x*(f+1)
    print x

    ResponderEliminar
  22. La de finici ón del factorial de un n úmero es:
    n! = n*(n-1)*(n-2)...1
    Adem as la regla dice que 0! = 1
    ejemplo: factorial de 5 = 5!=5*(5-1)*(5-2)*(5-3)*(5-4)=120 y esto se aplica para cualquier número.

    (en c++ de python 2)

    n=int(raw_input("entero positivo:"))
    x=1
    for f in range (n):
    x=x*(f+1)
    print x

    ResponderEliminar
  23. puto el que lo escribio

    ResponderEliminar
  24. encontré esta pregunta, quise ayudar con otra idea algo mas enrredadilla, si n =5 entonces 5*4*3*2*1 =120 y mostrarlo en ese orden me quedaría así:

    #include
    #include
    using namespace std;
    void main()
    {
    system("title Factorial de un numero");
    double n, x;
    cout<<"\n\tFACTORIAL";
    cout<<"\n\nIntroduzca un numero:";
    cin>>n;
    x=n;
    for(int i=1;i<=n-1;i++)
    {
    cout<<x<<"*"<<n-i<<"=";
    x=x*(n-i);
    cout<<x<<"\n";
    }
    cout<<"\n\nEl factorial del numero "<<n<<" es:"<<x;
    cout<<"\n\n\nOprima una tecla para cerrar la aplicacion";
    getch();
    }

    ResponderEliminar
  25. #include
    using namespace std;

    int main(int argc, char *argv[]) {
    int num, factorial;
    cout<< " Tecle un Número: ";
    cin>> num;
    factorial=1;
    for(int i=1; i<=num; i++)
    {
    factorial=factorial*i;
    }
    cout<< " El factorial del Número ingresado es "<<factorial<<endl;
    return 0;
    }

    ResponderEliminar
  26. Disculpen me podrian ayudar necesito un programa en C++ Que calcule el numero de conbinaciones de nCr

    ResponderEliminar
  27. por que al momento de compilar y arrancarlo mi antivirus lo detiene,

    ResponderEliminar
  28. por que al momento de compilar y arrancarlo mi antivirus lo detiene,

    ResponderEliminar
  29. Hola, que tal tengo un reto como harían el factorial de un millón, llevo semanas y no encuentro una solución.

    ResponderEliminar
  30. Hola, que tal tengo un reto como harían el factorial de un millón, llevo semanas y no encuentro una solución.

    ResponderEliminar
  31. aver miren quiero un programa con un vector que leea 10 numeros y para cuando compile el ejercicio me presente en pantalla los 10 primeros numeros factoriales ayuden en en eso

    ResponderEliminar
  32. http://clubdelcodigo.blogspot.mx/2017/02/factorial-de-un-numero-en-c.html

    ResponderEliminar
  33. Tu codigo no sirve con numeros mayores a 12

    ResponderEliminar
  34. Alguien que me pueda apoyar con programación!!!
    Estoy en ceros y requiero aprender por favor!.

    ResponderEliminar
  35. hola buenas tardes, espero me puedan ayudar, como puedo hacer la siguiente operacion: R= x + (n + 1)! / (n - 1)!, tengo problemas con el denominador

    ResponderEliminar