Napisz funkcje, która zwraca wartość n-tego wyrazu ciągu Fibonacciego. Funkcja
powinna być napisana w dwóch wersjach: iteracyjnej i rekurencyjnej.
Przykład deklaracji funkcji:
unsigned fib(unsigned n);
unsigned fibRekurencyjna(unsigned n);
#include <iostream>
using namespace std;
unsigned fib(unsigned n);
unsigned fibRekurencyjna(unsigned n);
int main()
{
unsigned liczba;
cout<<"Witaj w programie zwracajacym wartosc wybranego wyrazu ciagu Fibonacciego."<<endl;
cout<<"Podaj dowolny wyraz ciagu, ktory ma zostac zwrocony."<<endl;
cin>>liczba;
cout<<"Wartosc dla danego wyrazu wynosi \(iteracyjnie\): "<<fib(liczba)<<endl;
cout<<"a \(rekurencyjnie\) wynosi:"<<fibRekurencyjna(liczba)<<endl;
cin.get();
return 0;
}
unsigned fib(unsigned n)
{
unsigned a=0, b=1;
if(0==n) return a;
for(unsigned i=1;i<n;i++)
{
b+=a;
a=b-a;
}
return b;
}
unsigned fibRekurencyjna(unsigned n)
{
if(0==n) return 0;
if(1==n) return 1;
return fibRekurencyjna(n-1)+fibRekurencyjna(n-2);
}
Offline