fbpx

Problema #423 – Fibonacci1 – Rezolvari PBInfo

de Mihai-Alexandru

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

Cerinţa

Se dă un număr natural n. Să se afişeze în ordine crescătoare, termenii şirului lui Fibonacci mai mici sau egali cu n.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieşire

Programul afișează pe ecran termenii şirului lui Fibonacci mai mici sau egali cu n, în ordine crescătoare, separate printr-un spaţiu.

Restricţii şi precizări

  • 1 ≤ n ≤ 500.000.000

Exemplu

Date de intrare

40

Date de ieșire

1 1 2 3 5 8 13 21 34
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n;
    cin >> n;
    int a, b, c;
    a = 1;
    b = 1;
    if(n == 1)
        cout << 1 << ' ' << 1;
    else{
        cout << 1 << ' ' << 1 << ' ';
        while(n >= b){
            c = a + b;
            a = b;
            b = c;
            if(b <= n)
                cout << b << ' ';
        }
    }
    return 0;
}
Comentarii

S-ar putea sa iti placa