379
Cerința
Șirul lui Fibonacci (1, 1, 2, 3, 5, 8, 13, 21,...) se definește astfel:
- f1=1, f2=1, fi=fi−1+fi−2 pentru orice număr natural i, i≥3.
Subprogramul Fibo are un singur parametru, n, prin care primeşte un număr natural (n∈[1,30]). Subprogramul returnează al n-lea termen impar al șirului lui Fibonacci.
Scrieți definiția completă a subprogramului.
Exemplu
Dacă n=6, subprogramul returnează valoarea 21.
Important
Soluția propusă va conține definiția subprogramului cerut. Prezența în soluție a altor instrucțiuni poate duce erori de compilare sau de execuție care vor avea ca efect depunctarea soluției.
int Fibo(int n)
{
int x , y;
x=y=1;
int cnti=2;
for(int i = 1 ; cnti < n ; ++i)
{
int sum = x + y;
x = y , y = sum;
if(y % 2 == 1)
cnti++;
}
return y;
}
Comentarii