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

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

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

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

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(int argc, const char* argv[])
  5. {
  6.    double y0, y1 = 1;
  7.    double e;
  8.  
  9.    printf("Enter E: ");
  10.    scanf("%lg", &e);
  11.  
  12.    do
  13.    {
  14.       y0 = y1;
  15.       y1 = (y0 + 1) / (y0 + 2);
  16.    }
  17.    while ((y0 - y1) > e);
  18.  
  19.    printf("\nyn = %g\n", y1);
  20.  
  21.    system("pause");
  22.  
  23.    return 0;
  24. }

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

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

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут