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 cărui nume sta la originea cuvântului
"algoritm" ) şi a adus numeroase contribuţii 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 n≥0.
În lucarea sa “Liber Abaci” (“Cartea Abacului”) întâlnim următorul exerciţiu: "Câte perechi de
iepuri se pot obţine într-un an pornind de la o singură pereche ?". ştiind că fiecare pereche de iepuri
produce o pereche de descendenţi în fiecare lună, o pereche nouă devine fertilă la vârsta 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 aşa mai departe.

Această problemă desigur că nu a fost pusă în aplicaţie practică la biologie sau la explozia
demografică, a fost doar un exerciţiu de adunare. Fibonacci afirma: "Este posibil (ca adunarea) să
se facă în această ordine pentru un număr infinit de luni."

1
Se pare însă că şirul <Fn> fusese descris înainte ca Fibonacci să-şi scrie lucrarea, de către învăţaţii
indieni, care erau interesaţi de tipare ritmice formate din note sau silabe de o bătaie sau de două.
Numărul acestor ritmuri care au în total n bătăi este chiar Fn+1. Şirul mai apare şi în lucrările lui
Johann Kepler, un mare pasionat de numere, presupunându-se că el nu ştia de menţiunea acestui şir
facută de Fibonacci. Cu toate acestea, prima aplicaţie practică a numerelor lui Fibonacci a avut loc în
anul 1837 şi a aparţinut lui E.Leger, care a folosit acest şir pentru a studia eficienţa algoritmului lui
Euclid. Mai târziu (în anul 1870) matematicianul E.Lucas a obţinut 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
rămas în vigoare până astăzi.

Vom prezenta în continuare şi un program care generează termenii şirului Fibonacci până la un
număr 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 întâlnim foarte des în natură.
Plantele, deşi 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 eficienţe maxime.De exemplu,
urmând secvenţa lui Fibonacci frunzele unor plante pot fi dispuse să obţină cât mai mult soare şi să
ocupe un spaţiu cât mai mic. Ideea dispunerii frunzelor în acest sens pleacă de la considerarea
unghiului de aur, de 222,5 grade, unghi care împărţit la întregul 360 va da ca rezultat cifra
0.61803398…, cunoscută ca raţia şirului lui Fibonacci.

2
Aşadar, numărul petalelor florilor este, de cele mai multe ori, un număr al secvenţei
Fibonacci :
• Crinul, irisul au 3 petale
• Viorelele, trandafirul sălbatic, 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.

Câţi dintre voi nu au studiat măcar puţin cochilia melcilor ieşiţi "la plimbare" după o ploaie
de vară ? Designul ei urmează o spirală pe care nouă ne-ar fi greu să o trasăm cu pixul. Fiind studiată
mai amănunţit, s-a ajuns la concluzia că această spirală urmăreşte dimensiunile date de secvenţa lui
Fibonacci (pe axa pozitivă : 1,2,5,13,… iar pe axa negativă : 0,1,3,8,…).
După cum puteţi observa, aceste două subşiruri combinate dau chiar numerele lui Fibonacci.

Raţiunea şi motivaţia pentru această dispunere este simplă: în acest fel cochilia îi crează
melcului în interior un maxim de spaţiu şi de siguranţă. Este încă unul din nenumăratele
exemple de aplicare a secvenţei în natură.

3
Să ne îndreptăm acum atenţia asupra unei probleme deloc complicate : aflarea numărului
de cifre al unui termen din şirul Fibonacci (care se calculează la fel pentru orice alt număr
natural). Putem observa uşor că rezultatul căutat este [lg(a)]+1 unde [x] este partea întreagă a
numărului x, iar a este termenul dorit pentru a-i calcula numărul de cifre.
Aşadar putem scrie în acest scop o funcţie:
int nr_cifre(long int a)
{
return (int)log10(a)+1;
}

Vom studia în continuare numărul Ф=(1+rad(5))/2 şi vom vedea că această valoare este
legată de asemenea de şirul lui Fibonacci. Numărul Ф are el însuşi 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 Renaştere îl
numeau "proporţia divină" iar în ultimul secol a fost cunoscut ca "proporţia de aur". Mulţi
artişti şi scriitori au afirmat că raportul dintre Ф şi 1 este cea mai plăcută proporţie din punct
de vedere estetic şi opinia lor este confirmată şi din punctul de vedere al esteticii progrămarii
calculatoarelor.
Mâna umană are 5 degete, fiecare deget având 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.

Faţa umană este caracterizată, din punct de vedere estetic prin câteva dimensiuni
principale: distanţa între ochi, distanţa dintre gura şi ochi şi distanţa dintre nas şi ochi,
dimensiunea gurii. În ştiinţa esteticii se apreciază ca faţa este cu atât considerată mai plăcută
ochiului cu cât aceste dimensiuni respectă secvenţa lui Fibonacci mai bine.

4
e. Pentru istoria lui Ф, a se vedea excelentul articol "The Golden Section, Phyllotaxis, and
Wythoff’s 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
răspândite despre Ф au fost dărâmate de George Markowsky în "College Math. J."(1992).
Faptul că raportul Fn+1/Fn tinde către Ф era cunoscut matematicianului european timpuriu
Simon Jacob, care a murit în 1854.
Notaţiile pe care le folosim în această secţiune nu sunt foarte savante. De obicei în
literatura sofisticată de specialitate, Fn este numit un, iar Ф este cunoscut ca τ. Notaţiile
utilizate aici sunt de uz curent în matematicile recreative şi în literatura mai puţin serioasă,
dar folosirea lor ia amploare. Simbolul Ф are la origine numele artistului grec Phidias, despre
care se spune căa îtrebuinţat frecvent proporţia de aur în sculpturile sale. Notaţia Fn este în
concordanţă cu aceea folosită în Fibonacci Quaterly, unde cititorul poate găsi numeroase
detalii despre şirul lui Fibonacci.

După cum ştiţi, orice număr natural poate fi scris ca sumă de termeni ai şirului
Fibonacci, iar aceasta se poate deduce ţinând 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 utilizăm metoda backtracking
#include<stdio.h>
#include<conio.h>
#define Max 100
long int F[Max];
long int x; // x este numărul pe care vrem să-l scriem ca sumă de termeni Fibonacci
int n,s[Max];
void generare() //generăm 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) //calculăm 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 identităţi interesante, dintre care pe unele le
întâlnim în numeroase exerciţii. Una dintre cele mai remarcate relaţii, mentionată de Kepler
într-o scrisoare pe care a scris-o în 1608, dar publicată pentru prima dată de J. D. Cassini este
Fn+1×Fn-1-Fn2=(-1)n şi aceasta se poate demonstra uşor prin inductie. Desigur, există şi o
modaliate mai interesantă de a demonstra identitatea menţionată mai sus şi această modalitate
porneşte de la verificarea prin inducţie a identităţii de matrice

n
 Fn + 1 Fn  1 1 
  =   .
 Fn Fn − 1  1 0 
Apoi, putem calcula determinanţii celor doi membri ai ecuaţiei.
Relaţia amintită mai sus ( Fn+1×Fn-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 relaţia de definire a numerelor lui Fibonacci ( F0=0, F1=1, Fn+2=Fn+1+Fn) observăm
imediat că Fn+3=Fn+2+Fn+1=2Fn+1+Fn , Fn+4=3Fn+1+2Fn şi în general, prin inducţie,
Fn+m=Fm×Fn+1+Fm-1×Fn pentru orice m natural, m≥0. Dacă m este multiplu a lui n, din ecuaţia

6
precedentă aflăm (prin inducţie) că Fnk este multiplu de Fk. Astfel, fiecare al treilea număr este
par, fiecare al patrulea număr 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ă notăm prin cmmdc(m,n) cel mai mare divizor comun al numerelor m şi n, şi vom
avea o teoremă destul de surprinzătoare :
Un număr divide atât Fm cât ş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 afirmaţia făcută folosind algoritmul lui Euclid. Se observă din ecuaţia
Fn+m=Fm×Fn+1+Fm-1×Fn 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 Fm×Fn+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
arătat 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ă afirmaţia (1) şi pentru care
F0=0 satisface teorema lui Lucas. Pentru început este evident că afirmaţia (1) poate fi extinsă
prin inducţie 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 enunţat 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 împărţirii lui m la n) atunci divizorii comuni ai numerelor
{Fm, Fn} coincid cu divizorii comuni ai numerelor {Fn, Fr}. Rezultă în continuare că mulţimea
divizorilor comuni ai numerelor {Fm, Fn} rămâne neschimbată în momentul în care m şi n se
modifică; în fine, când 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 funcţie de Ф, pe care urmează să o redăm. Î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
funcţie "cunoscută", coeficienţii săi pot fi determinaţi. Numim G(z) funcţia generatoare a
şirului <Fn>. Putem analiza funcţia G(z) astfel :
zG(z)=F0z+F1z2+F2z3+…
z2G(z)=F0z2+F1z3+…
iar prin scădere (1-z-z2)G(z)=F0+(F1-F0)z+(F2-F1-F0)z2+(F3-F2-F1)z3+…. Toţi termenii cu
excepţia celui de-al doilea, se reduc, datorită definiţiei lui Fn, astfel încât expresia este egală cu
z. De aici putem observa că, dacă G(z) există, G(z)=z/(1-z-z2). Această funcţie poate fi într-
adevăr dezvoltată într-o serie infinită în z (seria Taylor); parcurgând operaţiile în sens invers,
găsim că dezvoltarea seriei de puteri din ecuaţia precedentă trebuie să aibă coeficienţi egali cu
numerele Fibonacci.
Trebuie acum să prelucrăm G(z) şi să aflăm mai multe despre şirul lui Fibonacci.
( )
Numitorul 1-z-z2 este o ecuaţie de gradul 2 cu rădăcinile 1 2 − 1 ± 5 ; dupa câteva calcule
aflăm că G(z) poate fi dezvoltată prin metoda fracţiilor parţiale 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
G (z ) =
1
( )
1 + Φz + Φ 2 z 2 + .... − 1 − Φ ' z − Φ ' 2 z 2 − ... .
5

7
Să privim acum coeficientul lui zn care trebuie să fie egal cu Fn ; găsim
ca Fn =
1
(Φ n − Φ 'n )
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 obtinuţe pornind direct de la G(z); de


1 1 1 2 
exemplu, G (z ) =   şi coeficientul lui zn in G(z)2 este
2
+ − 2 
5  (1 − Φz ) 2
(1 − Φ' z ) 1 − z − z 
2


n
k =0
FkFn − k .
Deducem de aici că

∑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 .
n 1 1 1 2

Am prezentat astfel câteva dintre proprietăţile numerelor lui Fibonacci dar noi ştim că
acestea sunt mult mai numeroase.

Legăturile î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 puţin aici,
datele sunt tulburătoare. Împărţind perimetrul bazei la înălţimea piramidei vom obtine 6,28
adică 2pi. Această piramidă are valoarea unghiului de înclinare a feţelor de 51°51'. Dacă
raportul dintre apotemă şi jumatatea bazei este egal cu 1,618 adică Ф, vom obţine o piramidă
cu feţele înclinate la 51°50', adică cu o diferenţă de 1' faţă de piramida pi. De altfel, raportul
real al feţelor este 14/11, adică 51°50'35''. Piramida fiind oblică, se construia urcând cu 7 şi
înaintând pe orizontală cu 2. Panta rezultată este 14/11.

A doua construcţie este Partenonul din Atena, construit între anii 447-432 Î.Hr.

8
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 părţi aflate în raport de 0,618.

Prin cele prezentate despre numerele lui Fibonacci sper că am reuşit să vă trezesc
interesul unui studiu mai detaliat al acestui şir, pentru că (dupa cum am văzut) îl întâlnim
deseori în elementele din jurul nostru.

S-ar putea să vă placă și