vineri, 25 ianuarie 2019

Algoritmi Elementari:Fibonacci


Șirul lui Fibonacci este construit din suma a două numere anterioare,în faza de început șirul este construit cu elementele 0 și 1 astfel avem primele elemente și putem construi ulterior șirul.

De exemplu dacă vrem să construim un șir care să conțină primele 5 elemente din șir îl vom construi in felul urmator

T0=0 și T1=1 astfel vom avea mai departe T2=T0+T1 astfel puteam deduce următoarea formulă de calcul Tn=Tn-2+Tn-1

0 1 apoi 0+1=1 iar șirul devine 0,1,1 al patrulea element va fi construit din termenii T2 și T3 rezultând 1+1=2 șirul devine 0,1,1,2
iar elemntul cu indicele 5 devine 1+2=3
Astfel șirul cu n=5 este 0,1,1,2,3
   Șirul lui Fibonacci este unul cel puțin interesant pentru că dacă vom crea pătrate ce au laturile egale cu numărul elementelor din șir putem observa un aspect ca de spirală foarte intrigant mai ales în natură cât și în artă.
   În perioada renascentistă șirul a atras atenția multor pictori mai ales datorită acestei proprietăți interesante al șirului.
Dacă doriți să aflați mai multe puteți accesa această pagină.

    Utilizând calculatorul și folosind un limbaj de programare putem crea un mic program care poate rezolva această mică problemă.Ceea ce și voi prezenta la finalul articolului,un program care calculează șirul lui Fibonacci cu o anumită lungime dată.
    Programul va conține comentarii care sper să vă ajute în a înțelege cât mai bine conceptul și algoritmul prezentat.

Vă aștept cu păreri,sugestii în comentarii sau puteți să-mi scrie-ți la următoarea adresă.

Programul în C:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int t0=0,t1=1,tn,i,numar_elemente; // Dupa cum am spus se incepe cu t0=0 si t0=1 in tn   vom crea urmatorul element
    printf("Introduceti numarul de elemente:");//afisam un mesaj
   scanf("%d",&numar_elemente); //citim de la tastatura cate elemente dorim sa afisam din sir
  printf("\n%d %d",t0,t1);//afisam primele 2 elemente din sir 0 si 1
 for(i=2;i<numar_elemente;i++) //Iteram si construim sirul incepand de la elementul al treilea pana la elementul ce-l dorim
{
   tn=t0+t1; //Construim urmatorul element prin adunarea celor 2 elemente din urma
   printf(" %d",tn);// afisam elementul
  t0=t1; // actualizam valorile din sir T0 devine T1
  t1=tn;// T1 devine elemntul curent astfel putem calcula mai departe
}
return 0;
}


Niciun comentariu:

Trimiteți un comentariu