Witam. Mam problem z zadaniem z książki Informatyka Europejczyka z zadaniem z rekurencji treść poniżej:
Podaj specyfikację zadania i skonstruuj algorytmy rekurencyjne w postaci programów wyznaczające n-ty wyraz podanego ciągu liczbowego. Podaj definicję rekurencyjne ciągów.
Przykłady a i b mam zrobione ale nie jestem pewny czy dobrze a przy c,d,e totalnie się zagubiłem i nie wiem jak dalej ruszyć poniżej kod źródłowy przykładów a i b.
a) (4,7,10,13,16,19,22,25,28...)
#include <iostream>
using namespace std;
int l(int x)
{
int a1=0;
int a;
if(x>1)
return l(x-1)+((x+1)%2);
else
return a1;
}
int main()
{
int x;
cin >> x;
if(x%2)
cout << -l(x);
else
cout << l(x);
}
b) (2,4,8,16,32,64,128,256,512...)
#include <iostream>
using namespace std;
int l(int x)
{
int a1=4;
int a;
if(x>1)
return l(x-1)+3;
else
return a1;
}
int main()
{
int x;
cin >> x;
cout << l(x);
}
mam nadzieję, że dobrze czekam na wszystkie poprawki oraz mam nadzieję na pomoc w przykładach c,d,e które podam poniżej.
c) (0,2, -0,6, 1,8, -5,4, 16,2, -48,6, 145,8...)
d) (-10,5, -2,5, 1,25, -0,625, 0,3125...)
e) (3, 5, 4, 6, 5, 7, 6, 8, 7...)
Pozdrawiam Serdecznie :)