/// <summary>
////Функция вычисления ln(1+x)=x-x^2/2+x^3/3-...+((-1)^(n-1))*x^n/n+...
/// </summary>
/// <param name="eps">вычислить с точностью eps>0</param>
/// <param name="x">введеное значение Х</param>
/// <param name="n">число n</param>
/// <param name="minus">значение -1</param>
/// <param name="res">результат текущего цикла</param>
/// <returns>результат вычисления</returns>
static double Func(double eps, double x, int n, int minus, double res)
{
double temp = 1.0;
for (int i = 0; i < n; i++)
{
temp *= x;
}
temp /= n;
temp *= minus;
if (Math.Abs(temp) < eps)
return temp + res;
temp += res;
return Func(eps, x, ++n, minus * -1, temp);
}
Func(eps, x, 1, 1, 0);
/// <summary>
////Функция вычисления ln(1+x)=x-x^2/2+x^3/3-...+((-1)^(n-1))*x^n/n+...
/// </summary>
/// <param name="eps">вычислить с точностью eps>0</param>
/// <param name="x">введеное значение Х</param>
/// <param name="n">число n</param>
/// <param name="minus">значение -1</param>
/// <param name="res">результат текущего цикла</param>
/// <returns>результат вычисления</returns>
static double Func(double eps, double x, int n, int minus, double res)
{
double temp = 1.0;
for (int i = 0; i < n; i++)
{
temp *= x;
}
temp /= n;
temp *= minus;
if (Math.Abs(temp) < eps)
return temp + res;
temp += res;
return Func(eps, x, ++n, minus * -1, temp);
}
Func(eps, x, 1, 1, 0);
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.