Вычислить значение выражения, используя рекурсию - C (СИ)

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

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

НУжно вот это задание в рекурсию переделать...сам пробовал такого понаделал))) С помощью цикла сделал...В рекурсию надеюсь на вашу помощь)))(ЯЗЫК СИ БЕЗ ++)
int _tmain(int argc, _TCHAR* argv[])
{
double y0 = 1, y1;
int n = 0;
double e;
 
printf("\nEnter Е: ");
scanf("%lg", &e);
 
do
{
y1 = (y0 + 1) / (y0 + 2);
y0 = y1;
n++;
}while( (y1 - y0) > e);
 
printf("\nyn = %lg\n", y1);
system("pause");
 
return 0;
}

Решение задачи: «Вычислить значение выражения, используя рекурсию»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, const char* argv[])
{
   double y0, y1 = 1;
   double e;
 
   printf("Enter E: ");
   scanf("%lg", &e);
 
   do
   {
      y0 = y1;
      y1 = (y0 + 1) / (y0 + 2);
   }
   while ((y0 - y1) > e);
 
   printf("\nyn = %g\n", y1);
 
   system("pause");
 
   return 0;
}

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

В этом коде выполняется вычисление числа y, которое является итеративным решением уравнения y1 = (y0 + 1) / (y0 + 2), где y0 - начальное приближение, а y1 - итерация. В цикле do-while выполняется итеративный процесс до тех пор, пока разница между текущим и предыдущим значением y не станет меньше заданной точности e. Значение y выводится на экран, после чего программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

14   голосов , оценка 3.929 из 5