Άσκηση 23

Δημιουργήστε συναρτήσεις που υπολογίζουν τον αριθμό Fibonacci επαναληπτικά και αναδρομικά. (Fk=Fk-1 + Fk-2, 0 1 1 2 3 5 8 13 … ή 1 1 2 3 5 8 13 …)

 

#include <iostream>

using namespace std;

//1 1 2 3 5 8 13...
int fibonacciAnadromika(int n){
	if(n==0 || n==1)
		return n;
	else
		return fibonacciAnadromika(n-1) + fibonacciAnadromika(n-2);
}

//1 1 2 3 5 8 13...
int fibonacciEpanaliptika(int n){
	int f1, f2, f3;

	if(n==0 || n==1)
		return n;
	f1=1;
	f2=1;
	for(int i=3; i<=n; i++){
		f3=f1+f2;
		f1=f2;
		f2=f3;
	}
	return f3;
}


int main(){

    cout<<fibonacciAnadromika(8)<<endl;
    cout<<fibonacciEpanaliptika(8);

    return 0;
}