Рекурсивный метод вычисления выражения - C#

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

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

Приветствую. Нужно написать рекурсию для вот такого выражения: Сколько бьюсь никак не могу додумать. Вот код:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace _14
  6. {
  7. class Program
  8. {
  9. static double f(double t)
  10. {
  11. if (t > 0)
  12. return Math.Sqrt (Math.Sqrt(t) + Math.Sqrt(f(t-1)));
  13. else
  14. return 0;
  15. }
  16. static void Main(string[] args)
  17. {
  18. double z = 0;
  19. Console.Write("введите n: ");
  20. int n = int.Parse(Console.ReadLine());
  21.  
  22. z = f(n);
  23. double rez = n / z;
  24. Console.WriteLine("F(N)= " + rez);
  25. }
  26. }
  27. }
Мне нужно понять что нужно написать в этой строке после return:
Листинг программы
  1. return Math.Sqrt (Math.Sqrt(t) + Math.Sqrt(f(t-1)));
Посчитав вручную выражение рекурсии от 3 равно 1,7520651 p.s. ошибся при написании названия темы - не обращайте внимания

Решение задачи: «Рекурсивный метод вычисления выражения»

textual
Листинг программы
  1.     public static void Main()
  2.     {
  3.         int n = 3;
  4.         var x = Rec(n);
  5.         Console.WriteLine(n/x);
  6.     }
  7.    
  8.     private static double Rec(int n, int x = 1)
  9.     {
  10.         if (n == x) return Math.Sqrt(x);
  11.        
  12.         return Math.Sqrt(x + Rec(n, x + 1));
  13.     }

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


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

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

15   голосов , оценка 3.867 из 5

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

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

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