Сделать приведенный код рекурсивным - C#

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

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

помогите, пожалуйста, написать рекурсию к этому коду
 static int Cikl(int n)
        {
            if (n == 1)
                return 1;
            if (n == 2)
                return 2;
            if (n == 3)
                return 3;
 
            int an_2 = 1;
            int an_1 = 2;
            int an = 3;
 
            int a = 0;
            while (n > 3)
            {
                a = 3 * an + 2 * an_1 + an_2;
                an_2 = an_1;
                an_1 = an;
                an = a;
                n--;
            }
            return a;
        }
        static void Main(string[] args)
        {
            int n;
            do
            {
                Console.WriteLine("Ведите номер нужного элемента n");
                n = Convert.ToInt32(Console.ReadLine());
            }
            while (n <= 0);
            Console.WriteLine("A({0})={1}", n, Cikl(n));
            Console.ReadKey();
        }

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

textual
Листинг программы
static int Rec(int n)
{
    if (n <= 3)
        return n;
    return 3 * Rec(n - 1) + 2 * Rec(n - 2) + Rec(n - 3);
}

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


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

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

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