/* 
 * arquivo: arctan.c
 * -----------------
 * Dado x (real), e n, um inteiro,  calcular arctan x, 
 * atraves da soma dos n primeiros termos da serie
 *
 * x - x^3 / 3 + x^5 / 5 - x^7 / 7 + ...
 * 
 */

#include <stdio.h>

int main()
{
  int i, n;
  double x, s, potx, sinal = 1;

  printf("Forneca o valor de n: ");
  scanf("%d", &n);
  printf("Forneca o valor de x: ");
  scanf("%lf", &x);

  s = potx = x;

  for (i = 1; i < n; i++) {
    sinal = -sinal;
    potx *= x * x;
    s += sinal * potx / (2 * i + 1);
  }

  printf("arctan(%g) = %.20g\n", x, s);
  return 0;
}
