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

Напишите программу для решения задачи.

Руслан Мартусин Ученик (127), на голосовании 1 неделю назад
Дано число Х в градусах. Найти значение tg X, используя разложение в ряд Тейлора. На языке си
Голосование за лучший ответ
resurce Гуру (4210) 1 месяц назад
 #include <stdio.h> 
#include <math.h>

double factorial(int n) {
double res = 1.0;
for (int i = 2; i <= n; i++) res *= i;
return res;
}

double taylor_tan(double x, int n) {
double rad = x * M_PI / 180.0;
double res = 0.0;
for (int i = 1; i <= n; i += 2) {
double term = pow(rad, i) / factorial(i) * (i % 4 == 1 ? 1 : -1);
res += term;
if (fabs(term) < 1e-10) break;
}
return res;
}

int main() {
double x;
int n = 100;

printf("Введите значение угла в градусах: ");
scanf("%lf", &x);

printf("tg(%lf) = %lf\n", x, taylor_tan(x, n));

return 0;
}
Jurijus ZaksasИскусственный Интеллект (445685) 1 месяц назад
Ввел миллион градусов. Получилось -nan(ind). А должно было примерно -5.671281819617709530994418439863964421625378260689750303215909988
Чой-то не так с твоей программой...
resurce Гуру (4210) Jurijus Zaksas, Я в курсе. Диапазоны задачи соблюдены
Руслан МартусинУченик (127) 1 месяц назад
Спасибо большое , если не трудно можете объяснение написать
Руслан МартусинУченик (127) 1 месяц назад
Уважаемые собеседники могли ли вы объяснить код пожалуйста
Jurijus Zaksas Искусственный Интеллект (445685) Руслан Мартусин, Как по мне, совершенно незачем объяснять сгенерированный ИИ неправильный код.
Похожие вопросы