Rezolvare completă PbInfo #256 FiboVerif

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

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema FiboVerif:

#include <iostream>
#include <cassert>

using namespace std;

int main(){
    int n, x, a=1, b=1, c;
    cin >> n;
    for( ; n ; --n){
        cin >> x;
        if(x==1)
            cout << "DA
";
        else{
            a=1, b=1;
            do
            {
                c = a+b;
                a = b;
                b = c;
            }
            while(c<x);
            if(c==x)
                cout << "DA
";
            else
                cout << "NU
";
        }
    }
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #256 FiboVerif

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #256 FiboVerif de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!