Задача на рекурсивную последовательность С++

Доказать, что рекурсивная последовательность (изображение) имеет предел при n→∞ и найти значение этого предела. Определить глубину рекурсии во время расчета. Я не могу понять как найти значение предела, помогите пожалуйста.

изображение

Вот мой код:

#include <iostream>
#include <cmath>

using namespace std;

int depth=0;

double R1(double n)
{

    if (n == 1)
        return 1;
    else
        depth++;
        return 2 * R1(n - 1);
}

double R2(double n)
{
    if (n == 1)
        return 1;
    else
        return 8 / (R2(n - 1) * R2(n - 1));
}

double R3(double n)
{
    if (n == 1)
        return 1;
    else
        return (R1(n) + R2(n)) / 3;
}

Ответы (1 шт):

Автор решения: Harry

Да предел-то найти несложно, он равен 2.

Просто если предел есть, то, подставив предельное значение справа, мы получим его и слева...

введите сюда описание изображения

Решая это уравнение относительно a, находим, что a=2...

Ну, а глубину рекурсии, раз не задана точность счета, можно оценить так:

int main(int argc, char * argv[])
{
    int n = 0;
    double a = 1;
    for(double b = 0; abs(a-b) > 0; n++)
    {
        b = a;
        a = (2*a+8/a/a)/3;
    }
    cout << "n = " << n << endl;
    cout << "a = " << a << endl;
}

Результат расчета смотрите здесь: https://ideone.com/C2bFPQ

Ну, а доказывать, что предел существует, можно с помощью теоремы Банаха.

→ Ссылка