author | Alberto Bertogli
<albertito@blitiri.com.ar> 2010-08-31 01:09:14 UTC |
committer | Alberto Bertogli
<albertito@blitiri.com.ar> 2010-08-31 01:11:20 UTC |
parent | 323404e9c320bd7a5cf68e55bbac60bdb1064c42 |
.gitignore | +1 | -0 |
Makefile | +5 | -1 |
fcont.cpp | +32 | -0 |
diff --git a/.gitignore b/.gitignore index 7c0bff3..ed9763d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ calc babilonio binomial +fcont diff --git a/Makefile b/Makefile index 47639f7..81742b5 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ CXXFLAGS += -Wall -std=c++98 -pedantic -Wno-long-long OBJS = aritmetica.o -default: calc babilonio binomial +default: calc babilonio binomial fcont all: default @@ -13,6 +13,9 @@ calc: $(OBJS) calc.o babilonio: $(OBJS) babilonio.o $(CXX) $(CXXFLAGS) $^ -o $@ +fcont: $(OBJS) fcont.o + $(CXX) $(CXXFLAGS) $^ -o $@ + binomial: $(OBJS) binomial.o $(CXX) $(CXXFLAGS) $^ -o $@ @@ -20,5 +23,6 @@ clean: rm -f $(OBJS) rm -f calc.o calc rm -f babilonio.o babilonio + rm -f fcont.o fcont rm -f binomial.o binomial diff --git a/fcont.cpp b/fcont.cpp new file mode 100644 index 0000000..b9d6ed8 --- /dev/null +++ b/fcont.cpp @@ -0,0 +1,32 @@ + +#include <stdio.h> +#include <stdlib.h> +#include <stdint.h> +#include "aritmetica.hpp" + +int main(int argc, char *argv[]) +{ + if (argc != 3) { + printf("Uso: %s <prec> <nterm>\n", argv[0]); + return 1; + } + + int prec = atoi(argv[1]); + int nterm = atoi(argv[2]); + + numero n(prec, 0.5); + + /* Loop de la fracción, nterm - 1 términos ya que el último es + * distinto */ + for (int i = 0; i < nterm; i++) { + n = numero(prec, 1) / n + 2.0; + } + + /* El último término tiene sumado 1 en lugar de 2 */ + n = numero(prec, 1) / n + 1.0; + + printf("%.60f 0x%lx\n", (double) n, to_u64(n)); + + return 0; +} +