Есть функция, которая вычисляет значение математической функции путем разложения в ряд Тейлора. Преподаватель из университета сказал, что лучше не делить на факториал, а сделать как то по другому. Как можно оптимизировать данную функцию, что бы убрать факториал из знаменателя?
double function(const double x)
{
int n=0,i;
long long int factor;
double eps=0.0001,F=eps+1.0, Sum=0;
while(eps <= F)//Если модуль значения функции меньше чем eps, прекращаем суммирование
{
for(i=2,factor=1;i<=n;i++)
factor*=i;
F=(pow(-1,n) * pow(x,n)) / factor;
Sum+=F;
if(F<0)//Узнаем модуль "F", для сравнивания с "eps" ибо значение может быть отрицательным.
F*=-1;
n++;
}
return Sum;
}



