Так вот можно как-нибудь:
using System; class New_Project
{ static double ln(double x, double ε)
{ double y = -x, s = x, p = x, n = 1, e = 1;
while (Math.Abs(e) > ε)
{ p *= y; n += 1; e = p / n; s += e; }
Console.Write(String.Format
("{0,10:f0} iterations ", n));
return s; }
static void print(int n, char s)
{ for (int i = 0; i < n; i++)
Console.Write(s); }
static void Main() { double Xbeg, Xend,
x, dx, y, ε, error; int i, N;
Console.Write("Xbeg Xend dx ε: ");
var s = Console.ReadLine().Split(" ");
Xbeg = Convert.ToDouble(s[0]);
Xend = Convert.ToDouble(s[1]);
dx = Convert.ToDouble(s[2]);
ε = Convert.ToDouble(s[3]);
N = (int)((Xend - Xbeg) / dx + 1e-15);
print(64, '='); Console.WriteLine();
for (i = 0; i <= N; i++) {
x = Xbeg + i * dx;
y = ln(x, ε); error = y - Math.Log(x+1);
Console.WriteLine(String.Format
("{0,10:f5}{1,20:f15}{2,12:e3}",x, y, error)); } } }
Вычисления можно ускорить при помощи метода остатков для этого ряда или при переходу к более быстро сходящемуся ряду. Заказываемая точность может отличаться от фактической, особенно при |x|≈1, но это не страшно. Фигурные скобки этот сайт почему-то неправильно печатает -у меня в обоих String.Format нету столько пробелов как здесь их рисует. В столбиках ниже -количество итераций, аргумент, значение и фактическая точность вычислений.
✿ ✿ ✿ ✿ ✿ ✿ ✿ ✿ ✿

(огромное спасибо за Вашу помощь <3)