Section courante

A propos

Section administrative du site

La célèbre suite de Fibonacci est sans doute l'une des suites numériques les plus connues de toute l'histoire des mathématiques. Popularisée au XIIIe siècle par le mathématicien italien Leonardo Pisano, plus connu sous le nom de Fibonacci (1170-1250), elle fut initialement introduite afin de modéliser la croissance théorique d'une population de lapins. Depuis cette époque, cette suite a largement dépassé le cadre de ce simple problème et est devenue un véritable symbole des mathématiques, tant par son élégance que par les nombreuses propriétés remarquables qu'elle possède.

Le principe de cette suite est extrêmement simple : chaque terme est obtenu en additionnant les deux termes qui le précèdent. En partant des valeurs initiales 0 et 1, on obtient ainsi la succession de nombres 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, et ainsi de suite. Malgré cette définition très élémentaire, cette suite apparaît dans de nombreux phénomènes naturels, notamment dans la disposition des feuilles sur certaines plantes, les spirales des coquillages, la répartition des graines des tournesols, les pommes de pin ou encore certaines structures cristallines :

En informatique, la suite de Fibonacci est également très utilisée pour illustrer différentes techniques de programmation. Elle permet notamment de comparer les approches récursives et itératives, d'étudier la complexité des algorithmes ou encore de mettre en ouvre diverses méthodes d'optimisation. Pour cette raison, elle constitue un exercice classique dans l'apprentissage de nombreux langages de programmation.

Le programme C++ présenté ci-dessous adopte une approche itérative particulièrement efficace. Plutôt que d'utiliser une fonction récursive, il calcule progressivement chaque terme en conservant uniquement les deux valeurs précédentes, ce qui réduit considérablement le temps d'exécution et la consommation de mémoire. Les exemples affichés permettent de générer les premiers termes de la suite de Fibonacci et d'observer facilement l'évolution de cette célèbre succession de nombres qui fascine les mathématiciens depuis plus de huit siècles :

  1. #include <iostream>
  2.  
  3. int Fibonacci(int n) {
  4.     int w;
  5.     if(n <= 0) return 0;
  6.     if(n == 1) return 1;
  7.     int u = 0;
  8.     int v = 1;
  9.     for(int i=2; i <= n; i++) {
  10.         w = u+v;
  11.         u = v;
  12.         v = w;
  13.     };
  14.     return v;
  15. }
  16.  
  17. int main()
  18. {
  19.      for(int I=0;I<=10;I++) std::cout << "Fibonacci(" << I << ")=" << Fibonacci(I) << std::endl;
  20.      return 0;
  21. }

on obtiendra le résultat suivant :

Fibonacci(0)=0
Fibonacci(1)=1
Fibonacci(2)=1
Fibonacci(3)=2
Fibonacci(4)=3
Fibonacci(5)=5
Fibonacci(6)=8
Fibonacci(7)=13
Fibonacci(8)=21
Fibonacci(9)=34
Fibonacci(10)=55

Voir également

Science - Mathématique

Dernière mise à jour : Mardi, le 24 novembre 2015