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

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 32 de biți cu semn
termenii se vor afișa în ordinea: f1,f2, f3, ...

Răspunsuri la întrebare

Răspuns de blindseeker90
6
#include <iostream>
using namespace std;

int main(){

int a,b,x0,x1,x2,n;
cin>>a>>b>>n;
x0=a;
x1=b;
cout<<a<<" "<<b<<" ";
do
{

x2=x0+x1;
if(x2<n){
cout<<x2<<" ";
}
x0=x1;
x1=x2;
}while(x2<n);
return 0;
}
Alte întrebări interesante