usando suma recursivo que programa numero for factoriales con ciclos ciclo calcule arreglos c++ algorithm api-design

c++ - suma - programa que calcule el factorial de un numero en java



¿Cómo implementas la función factorial en C++? (3)

Además de los bucles y recursiones obvios, los compiladores modernos de C ++ admiten la función gamma como tgamma() , estrechamente relacionada con el factorial:

#include <iostream> #include <cmath> int main() { int n; std::cin >> n; std::cout << std::tgamma(n+1) << ''/n''; }

prueba de ejecución: https://ideone.com/TiUQ3

Posibles duplicados:
Cálculo de grandes factoriales en C ++
Cómo calcular el factorial de x

¿Cómo implementas la función factorial en C ++? Y con esto quiero decir, implementarlo correctamente usando la lógica de control de errores y manejo de errores que sea apropiada para una biblioteca matemática de propósito general en C ++.


Es posible que desee echar un vistazo a boost/math/special_functions/factorials.hpp si tiene Boost instalado. Puedes leerlo en: Boost Factorial


Recursivo

unsigned int factorial(unsigned int n) { if (n == 0) return 1; return n * factorial(n - 1); }

Iterativo:

unsigned int iter_factorial(unsigned int n) { unsigned int ret = 1; for(unsigned int i = 1; i <= n; ++i) ret *= i; return ret; }

Tiempo de compilación:

template <int N> struct Factorial { enum { value = N * Factorial<N - 1>::value }; }; template <> struct Factorial<0> { enum { value = 1 }; }; void foo() { int x = Factorial<4>::value; // == 24 int y = Factorial<0>::value; // == 1 }