Informatică, întrebare adresată de MadalinaMadutaa, 9 ani în urmă

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

Cerinţa
Se dau n numere naturale. Să se verifice despre fiecare dacă este termen al şirului lui Fibonacci.

Date de intrare
Programul citește de la tastatură numărul n şi apoi n numere naturale.

Date de ieşire
Programul afișează pe câte o linie a ecranului, pentru fiecare număr, mesajul DA, dacă acel număr este termen al şirului lui Fibonacci, respectiv NU în caz contrar.

Restricţii şi precizări
1 ≤ n ≤ 10
numerele care se verifică au cel mult 9 cifre



Exemplu
Date de intrare

8
13 1 8 24 21 55 47 8
Date de ieșire

DA
DA
DA
NU
DA
DA
NU
DA

Răspunsuri la întrebare

Răspuns de TheSolver
3
#include <iostream>

using namespace std;

int main()
{
    int n,a,x,y,z;
    cin >> n;
    for (int i = 1; i<=n; i++)
    {
        cin >> a;
        x = 1;
        y = 1;
        z = 2;
        while (z<a)
        {
            x = y;
            y = z;
            z = x+y;
        }
        if (z==a or a == 1 or a == 2)
        {
            cout << "DA " << endl;
        }
        else
        {
            cout << "NU " << endl;
        }
    }
    return 0;
}


MadalinaMadutaa: Sa se determine n, numarul natural citit de la tastatura aca este termen din sirul lui Fibonacci. Se va afisa Da sau Nu.
MadalinaMadutaa: asta se rezolva la fel?
MadalinaMadutaa: la problema asta ma refer
MadalinaMadutaa: https://s22.postimg.org/6kyxvihb5/aaaaaaaaa.png
Alte întrebări interesante