Calcular el factorial de un número en C++

Programa C++ que lee un número entero positivo N y calcula e imprime su factorial.
El factorial de un número se representa mediante el símbolo ! y se define de la siguiente forma:
El factorial de 0 es 1 0! = 1
El factorial de N es N! = N * N-1 * N-2 * .... * 3 * 2 * 1
Por ejemplo, el factorial de 5 es:
5! = 5 * 4 * 3 * 2 * 1 = 120

//programa para calcular el factorial de un número
#include <iostream>
using namespace std;
int main()
{
   int n,i;
   long double factorial; // se declara long double para poder representar números grandes
   cout << "Introduce un numero: ";
   cin >> n;
   factorial=1;
   for(i=1;i<=n;i++)
        factorial = factorial * i;
   cout << endl << "Factorial de " << n << " -> " << factorial << endl;
   system("pause");
}

39 comentarios:

  1. me has salvado la carrera te quiero

    ResponderEliminar
  2. este problema es el mismo que me dejaron de tarea pero lo veo y no lo entiendo jajaj es que apenas entre a la carrera

    ResponderEliminar
  3. alguien tiene el diagrama de flujo de este ejercicio?

    ResponderEliminar
    Respuestas
    1. lo que seguro que tienes es unas ganas de follar desde hace 15 años que no te las quitas de encima

      Eliminar
  4. sabes como puede hacer para que se me imprima todos los factoriales desde el 1 por ejmplo al 5

    ResponderEliminar
    Respuestas
    1. Podrias guardar cada resultado en un vector resultante, pero no se si tienes conocimiento de vectores.

      Eliminar
  5. yo quiero hacer uno asi solo que en llamado a la funcion tengo ya unas horas intentando pero no me sale me podrian ayudar ahi

    ResponderEliminar
  6. no aplica para factorial de 0

    ResponderEliminar
  7. Eres todo un tigre bro, me salvaste el día, te lo agradezco. THANK YOU!!

    ResponderEliminar
  8. Esta bienas,aun no entiendo progranacion

    ResponderEliminar
  9. Digo esta buenas,pero aun no entiendo programacion

    ResponderEliminar
  10. sigo sin entender una pija de mi carrera xddd

    ResponderEliminar
  11. como lo calculo usando sumas y no multiplicación?

    ResponderEliminar
  12. Como puedo sacar el factorial de esto (i * 2)!

    ResponderEliminar
  13. Como puedo escribir esta misma funcion que sea reentrante con seguridad de hilos

    ResponderEliminar
  14. como seria si el factorial debe ser leido por el teclado

    ResponderEliminar
  15. Así sería de otra forma
    #include

    // Función para calcular el factorial de un número
    int factorial(int n) {
    if (n <= 1) {
    return 1;
    } else {
    return n * factorial(n - 1);
    }
    }

    int main() {
    int num;

    std::cout << "Ingrese un número para calcular su factorial: ";
    std::cin >> num;

    int result = factorial(num);

    std::cout << "El factorial de " << num << " es: " << result << std::endl;

    return 0;
    }

    ResponderEliminar
    Respuestas
    1. A mi me salio asi

      #include
      using namespace std;
      int calcularFactorial(int num) {
      int factorial = 1;

      for (int i = 1; i <= num; i++) {
      factorial *= i;
      }

      return factorial;
      }

      int main() {
      int numero;

      cout << "Ingrese un número ";
      cin >> numero;

      cout << "El factorial de " << numero << " es: " << calcularFactorial(numero)<< std::endl;

      return 0;
      }

      Eliminar
  16. #include
    using namespace std;
    int calcularsumatoria(int x, int y, int z){
    if(x<24 && y<60 && z<59){
    cout<<"\n"<>H;
    cout<<"INGRESE EL MINUTO:";
    cin>>M;
    cout<<"INGRESE EL SEGUNDO:";
    cin>>S;
    r=calcularsumatoria(H,M,S);
    return 0;
    }

    ResponderEliminar
  17. #include

    int main(){
    std:: cout << "coloca el numero a factoriar" << std:: endl;
    int numero,factor,numero1;
    std:: cin >> numero;
    numero1 = numero;
    factor = numero * (numero-1);

    for(int i=(numero-2); i>0; i--){
    factor = (factor * i);

    }

    std:: cout << "el factor de "; std:: cout << numero1; std:: cout << " es "; std:: cout << factor;

    }

    ResponderEliminar