C
Coraxberg
Товарищи программисты, помогите пожалуйста с программой. Нужно найти арксинус числа (x), используя ряд Тейлора
. Точность 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.
<!--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.