Программа с рекурсией c++

В общем,задание такое:введите сюда описание изображения

Недавно начали изучать c++ и написал 100% какую-то неправильную хрень. Не особо понимаю что и как нужно делать.В общем нужна помощь с заданием.

#include <iostream>
#include <cmath>
using namespace std;
int main(){
    int a1,a2,an,n,sum;
    a1=2;
    a2=3;
    an=pow(a1(n-1),2)-pow(a2(a-2),2);
    sum = 0;
    cin>>n;
    for (i=0;i>=0;i++){
        sum = an;
    }
    cout<<an;
    return 0;
}

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

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

Я бы делал так (итеративный и рекурсивный варианты):

long long A(unsigned int m)
{
    if (m == 1) return 2;
    if (m == 2) return 3;
    long long a1 = A(m-1), a2 = A(m-2);
    return a1*a1 - a2*a2;
}

long long Sum(unsigned int m)
{
    if (m == 0) return 0;
    if (m == 1) return 2;
    if (m == 2) return 5;
    return Sum(m-1) + A(m);
}

int main()
{
    long long  n, a1 = 2, a2 = 3;
    long long  S = a1 + a2;
    cin  >> n;
    for(long long a, i = 3; i <= n; ++i)
    {
        S += (a = a2*a2 - a1*a1);
        a1 = a2;
        a2 = a;
    }
    cout << S << endl;
    cout << Sum(n) << endl;

}

long long — потому что такой ряд быстро переполнится... Даже с ним работает только до n==8, для 9 уже получается 63248529811938901248310879532088328642...

→ Ссылка