416
Se consideră şirul Fibonacci generalizat, definit astfel: f1=a , f2=b , fk=fk-1+fk-2 , dacă k>2, unde a și b sunt două numere intregi.
Cerinţa
Se dă un număr natural n și două numere întregi a și b. Să se afişeze în ordine termenii şirului lui Fibonacci generalizat cu valoarea absolută mai mică sau egală cu n.
Date de intrare
Programul citește de la tastatură numerele a b n.
Date de ieşire
Programul afișează pe ecran termenii determinați, separați prin câte un spaţiu.
Restricţii şi precizări
1 ≤ n ≤ 500.000.000- termenii generați se vor înscrie pe
32de biți cu semn - termenii se vor afișa în ordinea:
f1,f2,f3, …
Exemplu
Date de intrare
-1 2 40
Date de ieșire
-1 2 1 3 4 7 11 18 29
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, a, b;
cin >> a >> b >> n;
int c;
if(abs(b) > n && abs(a) <= n)
cout << a;
else if(abs(a) <= n && abs(b) <= n){
cout << a << ' ' << b << ' ';
while(abs(b) <= n){
c = a + b;
a = b;
b = c;
if(abs(b) <= n)
cout << b << ' ';
}
}
return 0;
}
Comentarii