• 🚨 24 часа до повышения цены на курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    Последний день записи в текущий поток по старой цене Подробнее о курсе ...

Поиск Арксинуса, При Помощи Рядов Тейлора 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