Посчитать сумму ряда с заданной точностью - C#
Формулировка задачи:
Задание: x - x^3/3!+ x^5/5!- x^7/7! .....(-1)^n+x^(2*n+1)/(2n+1)!
Проблема в том, что когда например у нас получается числитель x^3, то его знаменатель 1!
не могу понять, как это исправить
заранее спасибо!
class Class_Looping
{
public const double DOUBLE_ERROR_SUM = -1E10 + 0.1;
public static double summm(double num, double eps, double x)
{
if (num > 1e6)
{
return DOUBLE_ERROR_SUM;
}
else
{
double sum = 0;
double ch = 0;
double zn = 0;
double fct = 1;
int sign = 1;
for (int i = 0; i <=num; i++)
{
ch = Math.Pow(x, 2 * i + 1);
fct *= 2*i+1;
if (i % 2 != 0)
{
zn += sign * fct;
sign *= -1;
}
sum = ch / zn;
sum += sum;
}
return sum;
}
}
}
}Решение задачи: «Посчитать сумму ряда с заданной точностью»
textual
Листинг программы
class Class_Looping
{
public const double DOUBLE_ERROR_SUM = -1E10 + 0.1;
public static double summm(double num, double eps, double x)
{
if (num > 1e6)
{
return DOUBLE_ERROR_SUM;
}
else
{
double sum = 0;
double ch = 0;
double fct = 1;
int sign = -1;
for (int i = 0; i <=num; i++)
{
ch = Math.Pow(x, 2 * i + 1);
if (i == 0)
fct = 1;
else
fct *= 2*i*(2*i + 1);
if (i % 2 != 0)
ch *= sign;
sum = ch / fct;
sum += sum;
}
return sum;
}
}
}