using
System;
public
class
GFG {
private
static
int
MAX = 16 ;
static
long
[,] nCr =
new
long
[MAX,MAX] ;
static
void
binomial()
{
for
(
int
i = 0; i < MAX; i++) {
for
(
int
j = 0; j <= i; j++) {
if
(j == 0 || j == i)
nCr[i,j] = 1;
else
nCr[i,j] = nCr[i - 1,j] + nCr[i - 1,j - 1];
}
}
}
static
double
findTanNTheta(
double
tanTheta,
int
n)
{
double
ans = 0, numerator = 0, denominator = 0;
long
toggle = 1;
for
(
int
i = 1; i <= n; i += 2) {
numerator = numerator + nCr[n,i] * Math.Pow(tanTheta, i) * toggle;
toggle = toggle * -1;
}
denominator = 1;
toggle = -1;
for
(
int
i = 2; i <= n; i += 2) {
numerator = numerator + nCr[n,i] * Math.Pow(tanTheta, i) * toggle;
toggle = toggle * -1;
}
ans = numerator / denominator;
return
ans;
}
public
static
void
Main()
{
binomial();
double
tanTheta = 0.3;
int
n = 10;
Console.Write(findTanNTheta(tanTheta, n));
}
}