) Rekursiv müraciətlər prosesi b) Hər bir rekursiv müraciətdən sonra qaytarılan qiymətlə
6.19. Fibonaççi ədədlər ardıcıllığının rekursiya ilə alınması Fibonaççi ədədlər ardıcılığı 0 və 1-lə başlayır və hər bir sonrakı hədd əvvəlki iki həddin cəminə bərabər olur. Fibonaççi ədədlər ardıcıllığı;
0, 1, 1, 2, 3, 5, 8, 13, 21, 34,… . Fibbonaççi ədələr ardıcıllığından təbiətdə bir çox prosesləri təsvir etmək üçün istifadə edilir. Məsələ, sipiral formasının təsviri üçün Fibonacci ədədlər ardıcıllığının iki ardıcıl həddinin nisbəti sabit 1.618 ədəddinə yığılır. Bu ədədə qızıl kəsik deyilir və memarlıq işlərində çox istifadə olunur. Məsələ, pəncərələrin, otaqların və binaların layihələşdirilməsində onların eni və uzunluqları qızıl kəsik nisbətində təyin olunur.
Fibonaççi ədədlər ardıcıllığını rekursiv olaraq aşağıdakı kimi təyin etmək olar:
Fibonaççi(0)=0 Fibonaççi(1)=1 Fibonaççi(n)= Fibonaççi(n-1)+ Fibonaççi(n-2) Fibonnaççi funksiyası vasitəsi ilə Fibonaççi ədədlər ardıcıllığının rekursiv olaraq alınması proqramını aşağıdakı kimi yazmaq olar;
# include using namespace std; int main() { unsigned long result,n ; cout<<”tam ədədi daxil edin:”; cin>>n; //daxil edilən ədəd üçün fibonaççi ədədlərinin hesablanması result=Fibonaççi(n); //nəticənin çıxışı cout<<”Fibonaçi(“< return 0; } //fibonaççi funksiyasının rekursiv təyini
unsigned long fibonaççi (unsigned long n) {//baza halı if (n==0//n==1) return n; //rekursiv addım
else return fibonaççi (n-1)+fibonaççi(n-2); } //fibonaççi funksiyasının sonu
Nəticələr aşağıdakı kimi olur :
tam ədədi daxil edin : 0 fibonaççi(0)=0 tam ədədi daxil edin:1 fibonaççi(1)=1 tam ədədi daxil edin: 3 fibonaççi(3)=2 tam ədədi daxil edin: 30 fibonaççi(30)=832040
Aşağıdakı şəkildə fibonaççi (3) funksiyasının rekursiv olaraq hesablanması sxemi göstərilmişdir.