Сделать приведенный код рекурсивным - 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);
}