/* 
 * 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 n, i, sinal;
    double x, soma, potx;

    printf("Digite o valor de x: ");
    scanf("%lf", &x);
    printf("Digite o valor de n: ");
    scanf("%d", &n);
    soma = potx = x;
    sinal = 1;

    for (i = 0; i < n; i++) {
        sinal = -sinal;
	potx *= x * x;
	soma += sinal * potx / (2 * i + 1);
    }
    printf("arctan(%g)= %.20g\n", x,  soma);
    return 0;
}
