RSS

L12. Sirul lui Fibonacci

02 Oct

Sirul lui Fibonacci este  1, 1, 2, 3, 5, 8, 13, 21, 34, …. si are legatura cu celebrul numar de aur.

Se observa ca sirul incepe cu valorile 1 si 1 , dupa care, fiecare noua valoare se obtine prin adunarea ultimelor doua valori:

  • F(1)=1
  • F(2)=1
  • F(n)=F(n-1)+F(n-2)

Pentru noi problema este de a determina al N-lea termen din sir.

Daca N=1 sau N=2, raspunsul este simplu, 1. In restul cazurilor trebuie ca avand mereu ultimile valori A si B, sa calculam noua valoare C=A+B (mereu trebuie memorata noua pereche formata – ultimile doua valori determinate)

citeste N;

A=1;B=1;

daca (N<=2) atunci scrie 1;

        altfel {pentru i=3,N executa

                      {//calculam noua valoare

                       C=A+B;

                      //pregatim noua pereche

                      A=B;B=C}

                scrie B;}

 
11 Comments

Posted by on 02/10/2012 in C2_1. Algoritmica

 

Tags:

11 responses to “L12. Sirul lui Fibonacci

  1. Maria

    08/04/2013 at 13:36

    Se citesc trei numere intregi a, b si c care reprezinta coeficientii unei ecuatii de gradul 2 si un numar natural n. Sa se calculeze Sn = x1n+x2n, unde x1 si x2 sunt radacinile ecuatiei. Suma se calculeaza fara a se rezolva ecuatia de gradul 2. Notam cu S suma radacinilor(S = -b/a)si cu P produsul radacinilor(P=c/a). Atunci: Sn = S × (x1n-1+x2n-1) = S × Sn-1 – P × Sn-2. Stiind ca S0=1+1=2 si S1=S, se va folosi definitia recurenta:
    S0=2
    S1=S
    S2=S × Sn-1 – P ×S0
    . . . . . . . . . . . . . . .
    Sn=S × Sn-1 – P × Sn-2

     
  2. mchelariu71

    08/04/2013 at 21:43

    Care e cerinta? Putem sa rezolvam prin aceeasi metoda sau sa folosim o recursie. Daca dezvoltam putin cu pixul in mana, s-ar putea sa iasa ceva gen triunghiul lui Pascal.

     
  3. meme's

    26/03/2014 at 20:29

    si “i” ce inseamna ?:(

     
  4. mchelariu71

    27/03/2014 at 10:10

    Algoritmul determina toate valorile din sir pana la al N-lea, inclusiv. I-ul porneste cu 3 (pana la N) pentru ca primele 2 valori sunt deja folosite.

     
  5. Alex

    24/05/2014 at 23:06

    acel i inseamna i-ul din instructionea for…no offense profu da u abia intr-a 10a incepi cu scrierea programelor in c++ intr-a 9a folosesti doar pseudocod. nu zic ca sunt vre-un geniu sau ceva de genu dar eu cam asta am inteles din planul tau de lectii…

     
  6. mchelariu71

    25/05/2014 at 21:51

    nu inteleg. spui ca nu polosi o variabila I decat din clasa a 10-?🙂

     
  7. Bellino

    15/10/2014 at 23:11

    nu-i adevarat.eu sunt intr-a 9 si folosesc la greu c++. si mai mult decat pseudocod

     
  8. Highway

    19/12/2014 at 22:47

    Functia f(n) numara de cate ori apare cifra 1 in numerele de la 1 la n.

    De exemplu: f(1)=1, f(2)=1, f(12)=5.

    Care este urmatorul numar pentru care f(n)=n?

     
  9. Ceuca Alexandru

    20/04/2015 at 19:54

    salut , la finalul programului ar trebui scrie C nu scrie B😀

     
  10. mchelariu71

    20/04/2015 at 20:57

    E absolut la fel. practic B este ultima valoare calculata.

     

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: