# PBinfo #2836 – FiboImpar – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința
Șirul lui Fibonacci (1, 1, 2, 3, 5, 8, 13, 21,...) se definește astfel:


\(f_1 = 1\), \(f_2 = 1\), \(f_i = f_{i-1} + f_{i-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.

## Cod sursă C++

```cpp
int Fibo(int n) {
    if (n < 3) return 1;
    int a = 1, b = 1 , c, i = 2;
    while (i < n) {
        c = a + b;
        a = b;
        b = c;
        if (c % 2 == 1) i++;
    } return c;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/2836)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/2836/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-2836/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
