вот тут написано, как считать натуральный логарифм с помощью ряда: http://ru.wikipedia.org/wiki/Логарифм а вот тут то же самое, и даже примерчик на Си: http://www.mobilab.ru/articles/99/
Я бы сделал так (сам придумал): 1) если x<0.5 то x=1/x; ЗНАК=-1 иначе ЗНАК=1 2) ПОРЯДОК=0; пока x>1.5 делай {x=x/2.718281828459045; ПОРЯДОК++} 3) x=x-1; 4) СУММА=x-x^2/2+x^3/3... с заданной точностью 5) ОТВЕТ=ЗНАК*(ПОРЯДОК+СУММА)