PROGRAM ZA IZRACUNAVANJE FIBONACCIJEVOG BROJA
// ITS - Visoka Škola Strukovnih Studija Za Informacione Tehnologije
// http://its.edu.rs
// Predmet: Osnovi Programiranja - Programski jezik
// Primer: Program za ispis Fibonacijevih brojeva. Rešenje preko rekurzije.
///////////////////////////////////////////////////////////////////////////////
#include <stdio.h>
int fibonaci(int n);
main()
{
int n,i;
//pozdravna poruka
printf("+-------------------------------------------+\n");
printf("| |\n");
printf("| Program za ispis Fibonacijevih brojeva |\n");
printf("| |\n");
printf("+-------------------------------------------+\n\n");
//stampanje obavestenja i unos promenljive
printf("Unesite broj clanova niza < n >: ");
scanf("%d", &n);
printf("\n\n");
//For petlja koja predstavlja uvecanje vrednosti i za 1 do unete vrednosti n
for(i=0; i<=n; i++)
{
printf("F(%d) = %d\n", i, fibonaci(i));
}
printf("\n\n");
}
int fibonaci(int n)
{
//provera uslova da li je n jednako 1
if(n==1)
{
return(1);
}
//provera uslova da li je n=0
else if(n==0)
{
return(0);
}
else
{
return(fibonaci(n-1)+fibonaci(n-2));
}
}
Napomena:
Primer kada ne treba koristiti rekurziju za velike unose.
Rekurzivna funkcija poziva samu sebe dva puta u svakoj iteraciji,
zbog čega pri obradi većih brojeva dolazi do preopterećenja procesora,
čak i kod savremenih dual core procesora.
Probati za n=40 i posmatrati opterećenje procesora.

















