>>28
#include <stdio.h>
#include <math.h>

#define N_MAX    100
#define SIGN(__n)    ((((__n) % 2) == 0) ? 1 : -1)

/*
 * SIGN(x) = (-1)^x
 *         = 1        // if x is 0(mod 2)
 *         = -1       // if x is 1(mod 2)
 * pow(x, y) = x^y
 * f(n, x) = SIGN(n - 1) * pow(x, 2 * n - 1) / (2 * n - 1)!
 */
double f(int n, double x)
{
    int i;
    double val;

    /* val: the demoninator of f(n, x) */
    val = SIGN(n - 1) * pow(x, 2 * n - 1);

    /* f(n, x) = val / (2 * n - 1)! */
    for (i = 1 ; i <= (2 * n - 1); ++i) {
        val /= i;
    }

    return val;
}