int factorial(int n) {
int i;
int product = 1;
for (i = 2; i <= n; ++i) product *= i;
return product;
}
double cosx_Taylor(double x) {
const double eps = 0.00001; // dokładność
double sum = 0;
int i = 0;
double sign = 1.0;
double w = 1.0;
while (eps < fabs(w)) {
w = (pow(x, (double) (2 * i)) * sign) / ((double) (factorial(2 * i)));
sign = -sign;
sum += w;
++i;
}
return sum;
}
Proszę was o pomoc, moja funkcja nie działa już dla x minimalnie większych od 2, w czym tkwi problem? Myślę, że algorytm jest poprawny.