Реализовать рекурсивную функцию, находящую приближенное значение корня k-й степени - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Реализовать рекурсивную функцию, находящую приближенное значение корня k-й степени из числа x по формуле: y(0) = 1, y(n+1)=y(n)-[y(n) - x / y(n)^(k-1) ]/k, (x - вещественный параметр, k и n - целые; x > 0, k > 1, n > 0). Вот реализация на Паскале
function SqrtK(var x:real; k,n:integer):real;
var q:real;
begin
  if x>0 then
   if n=0 then  result:=x
    else begin
    //q:=SqrtK(x,k,n-1);
    result:= SqrtK(x,k,n-1)-(SqrtK(x,k,n-1)-x/SqrtK(x,k,n-1)/(k-1))/k;
    end;
end;
Помогите сделать на Си.

Решение задачи: «Реализовать рекурсивную функцию, находящую приближенное значение корня k-й степени»

textual
Листинг программы
double SqrtK(double x, int k, int n)
{
    if(x>0)
    {
        if(n==0)
            return x;
        return SqrtK(x,k,n-1)-(SqrtK(x,k,n-1)-x/SqrtK(x,k,n-1)/(k-1))/k;
    }
}

Объяснение кода листинга программы

  1. Рекурсивная функция SqrtK() принимает три аргумента: x, k, n.
  2. Если x больше нуля, то выполняется блок кода внутри первого if.
  3. Если n равно нулю, то возвращается значение x.
  4. Если n не равно нулю, то возвращается результат вызова функции SqrtK(), деленный на k-1, минус x, деленное на результат вызова функции SqrtK(), деленный на k-1.
  5. Если x меньше или равно нулю, то выполняется блок кода внутри первого if.
  6. Результатом работы функции SqrtK() будет приближенное значение корня k-й степени из x.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

11   голосов , оценка 3.545 из 5
Похожие ответы