• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Поиск Арксинуса, При Помощи Рядов Тейлора C.

  • Автор темы Автор темы Coraxberg
  • Дата начала Дата начала
C

Coraxberg

Товарищи программисты, помогите пожалуйста с программой. Нужно найти арксинус числа (x), используя ряд Тейлора
62f27e29b5d7e9aa6ea55d49d23a6ad2.png
. Точность 11 знаков после запятой. Вот что я накотал:

<!--shcode--><pre><code class='c'>int main()
{
double a = 1, b = 2, x = 0.2, L = a/b, K = (x*x*x)/3, arcsinx=0, oldarcsinx;

while (!(arcsinx == oldarcsinx))
{
oldarcsinx = arcsinx;
arcsinx = L * K + oldarcsinx;
a = a+2;
b = b+2;
L = L * (a/b);
K = K * ((x*x)/2);
}
arcsinx = arcsinx + x;
printf ("%.10e\n", arcsinx);
}[/CODE]

Программа считает арксинус, но с точностью до ~7 знаков после запятой. Подскажите пожалуйста как повысить точность. Язык C.
 
Код:
while (!(arcsinx == oldarcsinx))
она вообще не должна работать, дробные числа так сравнивать нельзя. Их можно сравнивать только с какой-то точностью (и сюда тебе и надо примотать что-то типа .00000000001 (нули сам допишешь)
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Курс AD