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

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

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

Есть задача написать рекурсивный метод возвращающий значение. Вот задание: , для натурального N. Вот код
       
         static double F(double n)
        {
            if (n == 1) return 1;
            else return Math.Pow((F(n-1)+Math.Pow(n,0.5)),0.5);
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Введите N");
            double n = double.Parse(Console.ReadLine());
            double x = F(n);
            Console.WriteLine(x);
        }
Для двух нормально считает, потом уже нет. Помогите исправить ошибку в алгоритме.

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

textual
Листинг программы
namespace Recursia
{
    class Program
    {
        static int current = 0;
        static double F(int n)
        {
            if (n < 1) 
                return 0;
            current++;
            if (n == current)
            {
                int temp = current;
                current = 0;
                return Math.Sqrt(temp);
            }
            else
            {
                return Math.Sqrt(current + F(n));
            }
        }
        static void Main(string[] args)
        {
            double x;
            x = F(4);
            Console.WriteLine(x);
            x = F(4);
            Console.WriteLine(x);
            Console.ReadLine();
        }
    }
}

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


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

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

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