Я хочу найти значение In (x) без использования функции math.h
Я следую формуле, которую я нашел в своей книге по математике:
log(m) base e = 2[ (m-1/m+1) + (1/3) * (m-1/m+1)^3 + (1/5) * (m-1/m+1)^5 + ... ]
Вот мойкод:
i = 3;
logx = 0 ;
ty = (x-1)/(x+1) ;
do
{
logx = logx + ty ;
tty = ty ;
ty = (ty * ((x-1)/(x+1)) * ((x-1)/(x+1))) / i ;
i = i + 2 ;
} while(tty - ty > 0.0000005 );
logx = 2*logx ;
printf("\n ln (%g) = %g \n", x, logx);
но это показывает ln(2) = 0.691916
вместо 0.693147
и ln(3) = 1.08765
вместо 1.098612
и т. д. Что не так?