///////////////////////////////////////////////////////////////////////////////
// ITS – Visoka Škola Strukovnih Studija Za Informacione Tehnologije
//
https://www.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(“+——————————————-+
“);
      printf(“| |
“);
      printf(“| Program za ispis Fibonacijevih brojeva |
“);
      printf(“| |
“);
      printf(“+——————————————-+

“);

      //stampanje obavestenja i unos promenljive
      printf(“Unesite broj clanova niza < n >: “);
      scanf(“%d”, &n);
      printf(“

“);

      //For petlja koja predstavlja uvecanje vrednosti i za 1 do unete vrednosti n
      for(i=0; i<=n; i++)
{
             printf(“F(%d) = %d
“, i, fibonaci(i));
      }
      printf(“

“);
}


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.