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); }
|