Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Пожалуйста, помогите. Составить программу, которая посчитает значение ctg-са рядом Тейлора (используя циклы)

Сергей Матвеев Мастер (2316), закрыт 4 года назад
Лучший ответ
Николай Веселуха Высший разум (386299) 4 года назад
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#define PI 3.1415926535897932
double fact(double n) {
return n <= 0? 1 : n * fact(n - 1);
}
int sign(int n) {
return n < 0? 1 : -1;
}
double sin_x(double x) {
int n, c = -1;
double b = x, s = 0;
for (n = 1; fabs(b) > 1e-16; n += 2) {
c = sign(c);
b = c * pow(x, n) / fact(n);
s += b;
}
return s;
}
double cos_x(double x) {
int n, c = -1;
double b = x, s = 0;
for (n = 0; fabs(b) > 1e-15; n += 2) {
c = sign(c);
b = c * pow(x, n) / fact(n);
s += b;
}
return s;
}
int main(void) {
double x, ctg;
do {
printf("x: ");
scanf_s("%lf", &x);
} while (x <= -PI || x >= PI);
ctg = cos_x(x) / sin_x(x);
printf("ctg(x) = %.15lf\n", ctg);
system("pause > nul");
return 0;
}
Остальные ответы
Похожие вопросы