#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <utility>
#include "aritmetica.hpp"
#include "util.hpp"
using namespace std;
int prec;
pair<numero, numero> a_0(void)
{
return pair<numero, numero> (numero(prec, 1), numero(prec, 2));
}
pair<numero, numero> siguiente(pair<numero, numero> ant)
{
numero ant_b = ant.first;
numero ant_c = ant.second;
pair<numero, numero> ret;
ret.first = ant_c;
ret.second = (2 * ant_c) + ant_b;
return ret;
}
int main(int argc, char *argv[])
{
if (argc != 3) {
printf("Uso: %s <prec> <nterm>\n", argv[0]);
return 1;
}
prec = atoi(argv[1]);
int nterm = atoi(argv[2]);
pair<numero, numero> a_i = a_0();
/* Loop de la fracción, nterm - 1 términos ya que el último es
* distinto */
for (int i = 0; i < nterm; i++) {
a_i = siguiente(a_i);
}
numero n = (a_i.first / a_i.second) + 1;
print_result(nterm, n);
return 0;
}