Sunteți pe pagina 1din 9

Numerele lui Fibonacci

Leonardo Pisano (Leonardo din Pisa,1170-1240), cunoscut i sub numele de Leonardo Fibonacci (Filius Bonaccii, fiul lui Bonaccio) a fost de departe cel mai mare matematician european din Evul Mediu. A studiat lucrarea lui al-Khwarizimi (al crui nume sta la originea cuvntului "algoritm" ) i a adus numeroase contribuii originale aritmeticii i geometriei. De altfel el este cunoscut ca fiind unul dintre primii care a adus cifrele arabe n Europa, cifre pe care le folosim i n zilele noastre (0,1,2,3,4,5,6,7,8,9). irul care-i poart numele : 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, n care fiecare termen rezprezint suma celor dou numere precedente, a jucat i joac un rol foarte important n rezolvarea multor algoritmi. Din punct de vedere formal, numerele irului se definesc astfel: F0=0, F1=1, Fn+2=Fn+1+Fn , pentru orice n0. n lucarea sa Liber Abaci (Cartea Abacului) ntlnim urmtorul exerciiu: "Cte perechi de iepuri se pot obine ntr-un an pornind de la o singur pereche ?". tiind c fiecare pereche de iepuri produce o pereche de descendeni n fiecare lun, o pereche nou devine fertil la vrsta de o luna i c nici un iepure nu moare. Putem observa c dup o lun vor fi dou perechi de iepuri, dup dou luni vor fi trei perechi, dup trei luni cinci perechi i aa mai departe.

Aceast problem desigur c nu a fost pus n aplicaie practic la biologie sau la explozia demografic, a fost doar un exerciiu de adunare. Fibonacci afirma: "Este posibil (ca adunarea) s se fac n aceast ordine pentru un numr infinit de luni."

Se pare ns c irul <Fn> fusese descris nainte ca Fibonacci s-i scrie lucrarea, de ctre nvaii indieni, care erau interesai de tipare ritmice formate din note sau silabe de o btaie sau de dou. Numrul acestor ritmuri care au n total n bti este chiar Fn+1. irul mai apare i n lucrrile lui Johann Kepler, un mare pasionat de numere, presupunndu-se c el nu tia de meniunea acestui ir facut de Fibonacci. Cu toate acestea, prima aplicaie practic a numerelor lui Fibonacci a avut loc n anul 1837 i a aparinut lui E.Leger, care a folosit acest ir pentru a studia eficiena algoritmului lui Euclid. Mai trziu (n anul 1870) matematicianul E.Lucas a obinut rezultate profunde despre numerele lui Fobonacci i le-a folosit pentru a demonstra c numarul cu 39 de cifre 2127-1 este prim. Tot Lucas este i cel care a dat irului Fn numele de "numerele lui Fibonacci" i acest acest nume a rmas n vigoare pn astzi. Vom prezenta n continuare i un program care genereaz termenii irului Fibonacci pn la un numr natural n dat : #include<stdio.h> #include<conio.h> #define Max 100 long int f[Max]; void genereaza_fibonacci(int n,int i) { if(i>=3) f[i]=f[i-1]+f[i-2]; printf("%ld ",f[i]); if(i<n) genereaza_fibonacci(n,i+1); } void main() { int n; clrscr(); printf(Dati numarul n pana la care doriti sa generati termenii sirului lui Fibonacci!!! ); scanf("%d",&n); f[0]=0; f[1]=1; f[2]=1; genereaza_fibonacci(n,0); } Numerele lui Fibonacci au o importan deosebit, deoarece le ntlnim foarte des n natur. Plantele, dei nu cunosc irul lui Fibonacci, cele mai multe dintre ele(cum ar fi : floarea soarelui, conurile de pin, inelele de pe trunchiurile palmierilor, .a.) respect o dispunere dat de numerele lui Fibonacci. Motivul pentru toate acestea este realizarea unui optim, a unei eficiene maxime.De exemplu, urmnd secvena lui Fibonacci frunzele unor plante pot fi dispuse s obin ct mai mult soare i s ocupe un spaiu ct mai mic. Ideea dispunerii frunzelor n acest sens pleac de la considerarea unghiului de aur, de 222,5 grade, unghi care mprit la ntregul 360 va da ca rezultat cifra 0.61803398, cunoscut ca raia irului lui Fibonacci.

Aadar, numrul petalelor florilor este, de cele mai multe ori, un numr al secvenei Fibonacci : Crinul, irisul au 3 petale Viorelele, trandafirul slbatic, lalelele, au 5 petale Exist desigur i flori care nu au petalele dispuse ntr-o secven Fibonacci, dar acestea sunt rare i considerate speciale :euphorbia (2 petale), cala (1 petal) i nu numai.

Ci dintre voi nu au studiat mcar puin cochilia melcilor ieii "la plimbare" dup o ploaie de var ? Designul ei urmeaz o spiral pe care nou ne-ar fi greu s o trasm cu pixul. Fiind studiat mai amnunit, s-a ajuns la concluzia c aceast spiral urmrete dimensiunile date de secvena lui Fibonacci (pe axa pozitiv : 1,2,5,13, iar pe axa negativ : 0,1,3,8,). Dup cum putei observa, aceste dou subiruri combinate dau chiar numerele lui Fibonacci.

Raiunea i motivaia pentru aceast dispunere este simpl: n acest fel cochilia i creaz melcului n interior un maxim de spaiu i de siguran. Este nc unul din nenumratele exemple de aplicare a secvenei n natur.

S ne ndreptm acum atenia asupra unei probleme deloc complicate : aflarea numrului de cifre al unui termen din irul Fibonacci (care se calculeaz la fel pentru orice alt numr natural). Putem observa uor c rezultatul cutat este [lg(a)]+1 unde [x] este partea ntreag a numrului x, iar a este termenul dorit pentru a-i calcula numrul de cifre. Aadar putem scrie n acest scop o funcie: int nr_cifre(long int a) { return (int)log10(a)+1; }

Vom studia n continuare numrul =(1+rad(5))/2 i vom vedea c aceast valoare este legat de asemenea de irul lui Fibonacci. Numrul are el nsui o istorie deosebit de interesant. Euclid l-a numit "raporul mezilor i al extremilor" ; dac raportul dintre A si B este egal cu , atunci el este egal i cu raportul dintre A+B i A. Autorii din Renatere l numeau "proporia divin" iar n ultimul secol a fost cunoscut ca "proporia de aur". Muli artiti i scriitori au afirmat c raportul dintre i 1 este cea mai plcut proporie din punct de vedere estetic i opinia lor este confirmat i din punctul de vedere al esteticii progrmarii calculatoarelor. Mna uman are 5 degete, fiecare deget avnd 3 falange separate prin 2 ncheieturi (numere n secven). n medie, dimensiunile falangelor sunt: 2cm, 3cm, 5cm. n continuarea lor este un os al palmei care are n medie 8 cm.

Faa uman este caracterizat, din punct de vedere estetic prin cteva dimensiuni principale: distana ntre ochi, distana dintre gura i ochi i distana dintre nas i ochi, dimensiunea gurii. n tiina esteticii se apreciaz ca faa este cu att considerat mai plcut ochiului cu ct aceste dimensiuni respect secvena lui Fibonacci mai bine.
S

Pentru istoria lui , a se vedea excelentul articol "The Golden Section, Phyllotaxis, and Wythoffs Game", de H.S.M.Coxeter(1953) precum i capitolul 8 din "The second Scientific American Book of Mathematical Puzzles and Diversions" de Martin Gardner. Multe mituri rspndite despre au fost drmate de George Markowsky n "College Math. J."(1992). Faptul c raportul Fn+1/Fn tinde ctre era cunoscut matematicianului european timpuriu Simon Jacob, care a murit n 1854. Notaiile pe care le folosim n aceast seciune nu sunt foarte savante. De obicei n literatura sofisticat de specialitate, Fn este numit un, iar este cunoscut ca . Notaiile utilizate aici sunt de uz curent n matematicile recreative i n literatura mai puin serioas, dar folosirea lor ia amploare. Simbolul are la origine numele artistului grec Phidias, despre care se spune ca trebuinat frecvent proporia de aur n sculpturile sale. Notaia Fn este n concordan cu aceea folosit n Fibonacci Quaterly, unde cititorul poate gsi numeroase detalii despre irul lui Fibonacci.
e.

Dup cum tii, orice numr natural poate fi scris ca sum de termeni ai irului Fibonacci, iar aceasta se poate deduce innd cont de faptul c Fn= n/ 5 rotunjit la cel mai apropiat ntreg, unde =(1+ 5 )/2 ;un program care sa rezolve aceasta cerin este cel pe care-l vom prezenta in continuare si in care utilizm metoda backtracking #include<stdio.h> #include<conio.h> #define Max 100 long int F[Max]; long int x; // x este numrul pe care vrem s-l scriem ca sum de termeni Fibonacci int n,s[Max]; void generare() //generm termenii Fibonacci ce sunt mai mici sau egali cu x; { F[0]=0; F[1]=1; for(n=2;F[n-1]<=x;n++) F[n]=F[n-1]+F[n-2]; n-=1; } long int suma(int k) //calculm suma a k termeni; { long int suma=0; for(int i=1;i<=k;i++) suma+=F[s[i]]; return suma; } int conditii(int k) { int i; for(i=1;i<k;i++) if(F[s[i]]>F[s[k]]) return 0; if(suma(k)>x) return 0; return 1; } 5

void afisare(int k) { for(int i=1;i<k;i++) printf("%ld+",F[s[i]]); printf("%ld\n",F[s[k]]); } void back(int k) { for(int i=2;i<=n;i++) { s[k]=i; if(cond(k)) { if(suma(k)==x) afisare(k); else back(k+1); } } } void main() { clrscr(); scanf("%ld",&x); if(x==0 || x==1) printf("%ld",x); else { generare(); back(1); //functia back genereaza toate posibilitatile de a-l scrie pe x ca suma de termeni Fibonacci } } Numerele lui Fibonacci ndeplinesc multe identiti interesante, dintre care pe unele le ntlnim n numeroase exerciii. Una dintre cele mai remarcate relaii, mentionat de Kepler ntr-o scrisoare pe care a scris-o n 1608, dar publicat pentru prima dat de J. D. Cassini este Fn+1Fn-1-Fn2=(-1)n i aceasta se poate demonstra uor prin inductie. Desigur, exist i o modaliate mai interesant de a demonstra identitatea menionat mai sus i aceast modalitate pornete de la verificarea prin inducie a identitii de matrice Fn + 1 Fn 1 1 Fn Fn 1 = . 1 0 Apoi, putem calcula determinanii celor doi membri ai ecuaiei. Relaia amintit mai sus ( Fn+1Fn-1-Fn2=(-1)n ) ne arat c Fn si Fn+1 sunt prime ntre ele, pentru c orice eventual divizor comun ar trebui s fie de asemenea i divizorul lui (-1)n. Din relaia de definire a numerelor lui Fibonacci ( F0=0, F1=1, Fn+2=Fn+1+Fn) observm imediat c Fn+3=Fn+2+Fn+1=2Fn+1+Fn , Fn+4=3Fn+1+2Fn i n general, prin inducie, Fn+m=FmFn+1+Fm-1Fn pentru orice m natural, m0. Dac m este multiplu a lui n, din ecuaia
n

precedent aflm (prin inducie) c Fnk este multiplu de Fk. Astfel, fiecare al treilea numr este par, fiecare al patrulea numr este multiplu de trei, fiecare al cincilea este multiplu de patru, .a.m.d. De fapt am putea spune mai multe lucruri n acest sens. S notm prin cmmdc(m,n) cel mai mare divizor comun al numerelor m i n, i vom avea o teorem destul de surprinztoare : Un numr divide att Fm ct i Fn dac i numai dac este divizor al lui Fd, unde d este egal cu cmmdc(m,n) ; n particular,cmmdc(Fm,Fn)=Fcmmdc(m,n).(Teorema lui E.Lucas, 1876). Vom demonstra afirmaia fcut folosind algoritmul lui Euclid. Se observ din ecuaia Fn+m=FmFn+1+Fm-1Fn c orice divizor comun al lui Fm si Fn este de asemenea divizor al lui Fn+m; reciproc, orice divizor comun al lui Fn+m i al lui Fn este divizor al lui FmFn+1. Pentru c Fn+1 este prim fa de Fn, orice divizor comun al lui Fn+m i al lui Fn este divizor i al lui Fm. Am artat astfel c, pentru orice numar d, d divide Fm si Fn (1) dac i numai dac divide Fm+n i Fn. Vom demonstra acum c orice ir <Fn> pentru care se verific afirmaia (1) i pentru care F0=0 satisface teorema lui Lucas. Pentru nceput este evident c afirmaia (1) poate fi extins prin inducie dup k astfel : d divide Fn si Fm dac i numai dac divide Fm+nk si Fn, unde k este orice ntreg pozitiv. Rezultatul poate fi enunat mai succint: d divide Fm mod n i Fn dac i numai dac divide Fm i Fn. Dac r=m mod n( r este restul mpririi lui m la n) atunci divizorii comuni ai numerelor {Fm, Fn} coincid cu divizorii comuni ai numerelor {Fn, Fr}. Rezult n continuare c mulimea divizorilor comuni ai numerelor {Fm, Fn} rmne neschimbat n momentul n care m i n se modific; n fine, cnd r devine 0, divizorii comuni sunt pur i simplu divizorii lui F0=0 i Fcmmdc(m,n). Cele mai importante rezultate privind numerele lui Fibonacci pot fi deduse din reprezentare numerelor Fn n funcie de , pe care urmeaz s o redm. ncepem prin a scrie G(z)=F0+F1z+F2z2+=z+z2+2z3+3z4+ Avantajul unei astfel de proceduri este c G(z) este o singur valoare care reprezint dintr-o dat ntregul ir Fibonacci; i dac afl c G(z) este o funcie "cunoscut", coeficienii si pot fi determinai. Numim G(z) funcia generatoare a irului <Fn>. Putem analiza funcia G(z) astfel : zG(z)=F0z+F1z2+F2z3+ z2G(z)=F0z2+F1z3+ iar prin scdere (1-z-z2)G(z)=F0+(F1-F0)z+(F2-F1-F0)z2+(F3-F2-F1)z3+. Toi termenii cu excepia celui de-al doilea, se reduc, datorit definiiei lui Fn, astfel nct expresia este egal cu z. De aici putem observa c, dac G(z) exist, G(z)=z/(1-z-z2). Aceast funcie poate fi ntradevr dezvoltat ntr-o serie infinit n z (seria Taylor); parcurgnd operaiile n sens invers, gsim c dezvoltarea seriei de puteri din ecuaia precedent trebuie s aib coeficieni egali cu numerele Fibonacci. Trebuie acum s prelucrm G(z) i s aflm mai multe despre irul lui Fibonacci. Numitorul 1-z-z2 este o ecuaie de gradul 2 cu rdcinile 1 2 1 5 ; dupa cteva calcule aflm c G(z) poate fi dezvoltat prin metoda fraciilor pariale la 1 1 1 forma G ( z ) = unde =1-=(-1-5). 5 1 z 1 ' z Valoarea 1/(1- z) este suma seriei geometrice infinite 1+ z+ 2z2+, deci avem 1 G (z ) = 1 + z + 2 z 2 + .... 1 ' z ' 2 z 2 ... . 5

S privim acum coeficientul lui zn care trebuie s fie egal cu Fn ; gsim 1 ( n 'n ) ca Fn = 5 Aceasta este o important form nchis pentru exprimarea numerelor lui Fibonacci, descoperit pentru prima dat de A. De Moivre la nceputul secolului 18. Alte rezultate pot fi obtinue pornind direct de la G(z); de 1 1 1 2 2 i coeficientul lui zn in G(z)2 este exemplu, G (z ) = + 2 2 2 5 (1 z ) (1 ' z ) 1 z z

n k =0

FkFn k .

Deducem de aici c 1 1 1 2 n k =0 FkFn k = 5 ((n + 1)(n + 'n ) 2Fn + 1) = 5 ((n + 1)(Fn + 2Fn 1) 2Fn + 1) = 5 (n 1)Fn + 5 nFn 1 . Am prezentat astfel cteva dintre proprietile numerelor lui Fibonacci dar noi tim c acestea sunt mult mai numeroase.
Legturile ntre aceste numere sunt mult mai profunde. Ele au stat la baza construirii marilor edificii antice. Una dintre ele este Marea Piramid de la Gizeh. Cel puin aici, datele sunt tulburtoare. mprind perimetrul bazei la nlimea piramidei vom obtine 6,28 adic 2pi. Aceast piramid are valoarea unghiului de nclinare a feelor de 5151'. Dac raportul dintre apotem i jumatatea bazei este egal cu 1,618 adic , vom obine o piramid cu feele nclinate la 5150', adic cu o diferen de 1' fa de piramida pi. De altfel, raportul real al feelor este 14/11, adic 5150'35''. Piramida fiind oblic, se construia urcnd cu 7 i naintnd pe orizontal cu 2. Panta rezultat este 14/11. A doua construcie este Partenonul din Atena, construit ntre anii 447-432 .Hr.

Maestrul Leonardo Da Vinci a exprimat ca nimeni altul numerologia sacr n arta sa. n tabloul Buna Vestire liniile orizontale sunt mereu un multiplu de 0,618 ca i cele verticale. Ele mpart ntotdeauna tabloul n pri aflate n raport de 0,618.

Prin cele prezentate despre numerele lui Fibonacci sper c am reuit s v trezesc interesul unui studiu mai detaliat al acestui ir, pentru c (dupa cum am vzut) l ntlnim deseori n elementele din jurul nostru.