3 ms·
If you don't care about "performance": double my_cos(double x) { double sum = 0; for (int n = 0; n < 10; n++) { // 10 terms of Taylor Series
by new2yc 3y ago
If you don't care about "performance":
double my_cos(double x) {
double sum = 0;
for (int n = 0; n < 10; n++) { // 10 terms of Taylor Series
sum += pow(-1, n) * pow(x, 2 * n) / factorial(2 * n);
}
return sum;
}
Edit: code formatting
- irchans 3y ago/* This code is silly, not super accurate, but fun / double cos2(double x, int n) { double numerator = 1.0; double denominator = 1.0; double pi = 3.14159265358979323846; int i; for (i = 1; i <= n; ++i) { numerator *= pow((x - n * pi / 2.0), 2); denominator *= pow((n * pi / 2.0), 2); } return numerator / denominator; } (Edit for format)
- Sesse__ 3y agoAlso if you don't care about accuracy at all. my_cos(2 * M_PI) = 0.9965. my_cos(4 * M_PI) = -2917.7144 (!).