# PBinfo #994 – fiboverif1 – Rezolvare C++

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

## Enunț

Se consideră şirul Fibonacci, definit astfel: f1=1, f2=1, respectiv fn=fn-1+fn-2, dacă n>2.

Cerinţa
Se dă un şir cu n elemente, numere naturale. Să se afişeze elementele şirului care sunt termeni ai şirului lui Fibonacci.

Se va defini şi apela o funcţie fibo care verifică dacă un număr natural, transmis ca parametru, face parte din şirul lui Fibonacci.

Date de intrare
Pe prima linie a fişierului fiboverif1.in se află numărul n, iar pe a doua linie n numere naturale.

Date de ieşire
Pe prima linie a fişierului fiboverif1.out se vor afla elementele şirului dat care sunt termeni ai şirului lui Fibonacci, separaţi prin exact un spaţiu.

Restricţii şi precizări

1 ≤ n ≤ 10
elementele şirului vor avea cel mult 9 cifre

Exemplu:
fiboverif1.in

8
13 1 8 24 21 55 47 8
fiboverif1.out

13 1 8 21 55 8

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
ifstream in("fiboverif1.in");
ofstream out("fiboverif1.out");
bool fibo(int n) {
    if (n == 1) return true;
    int a = 1, b = 1, temp;
    while (b < n) {
        temp = a + b;
        a = b;
        b = temp;
    } if (b == n) return true;
    return false;
}
int main() {
    int n, x ;
    in >> n;
    while (n > 0) {
        in >> x;
        if (fibo(x)) out << x << " ";
        n--;
    } return 0;
}
```

## Resurse

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