author | Rodrigo Campos
<rodrigo@sdfg.com.ar> 2010-09-05 22:39:38 UTC |
committer | Alberto Bertogli
<albertito@blitiri.com.ar> 2010-09-06 21:26:42 UTC |
parent | 799d1ddea617dd8bb9b06c5ba4846cdd45c4754c |
binomial.cpp | +7 | -5 |
diff --git a/binomial.cpp b/binomial.cpp index e311e6f..9d69bdb 100644 --- a/binomial.cpp +++ b/binomial.cpp @@ -4,11 +4,13 @@ #include <stdint.h> #include "aritmetica.hpp" -static double factorial(unsigned int n) +int prec; + +static numero factorial(unsigned int n) { - double res = 1; + numero res(prec,1); for (unsigned int i = 1; i <= n; i++) { - res *= i; + res = res * i; } return res; } @@ -20,7 +22,7 @@ int main(int argc, char *argv[]) return 1; } - int prec = atoi(argv[1]); + prec = atoi(argv[1]); int nterm = atoi(argv[2]); /* Valor inicial, el del primer término */ @@ -38,7 +40,7 @@ int main(int argc, char *argv[]) } /* denominador: factorial(i) */ - numero denominador(prec, factorial(i)); + numero denominador = factorial(i); /* Acumulamos el término */ n = n + numerador / denominador;