Parmi les suites numériques les plus célèbres de l'histoire des mathématiques figure sans aucun doute la suite de Fibonacci. Popularisée au XIIIe siècle par le mathématicien italien Leonardo Pisano (1170 à 1250), également connu sous le nom de Fibonacci, cette suite apparaît pour la première fois dans son ouvrage Liber Abaci. À l'origine, elle servait à illustrer un problème théorique portant sur la croissance d'une population de lapins au fil du temps. Bien que ce problème soit avant tout un exercice mathématique, la suite obtenue possède des propriétés remarquables qui ont suscité l'intérêt de générations de mathématiciens, de scientifiques et d'informaticiens. Aujourd'hui encore, elle demeure l'un des exemples les plus connus de récurrence numérique et constitue un sujet incontournable dans l'apprentissage des algorithmes et de la programmation.
Le principe de cette suite est particulièrement 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 successivement les nombres 1, 2, 3, 5, 8, 13, 21, 34, 55 et ainsi de suite. Malgré cette définition élémentaire, la suite de Fibonacci présente des propriétés étonnantes. Elle est étroitement liée au célèbre nombre d'or et apparaît dans de nombreux phénomènes naturels. On retrouve en effet des structures proches de cette suite dans certaines spirales observées chez les coquillages, les pommes de pin, les tournesols, les ananas et diverses autres formes végétales. Cette présence dans la nature contribue largement à la fascination qu'exerce la suite de Fibonacci auprès du grand public et du monde scientifique.
On obtient la spirale suivante :
Du point de vue informatique, la suite de Fibonacci constitue également un excellent exemple pour illustrer différents styles de programmation. Elle peut être calculée à l'aide de méthodes récursives, itératives ou même à l'aide de formules mathématiques avancées. Le programme en langage C présenté ci-dessous utilise une approche itérative particulièrement efficace. Plutôt que d'effectuer un grand nombre d'appels récursifs, l'algorithme conserve simplement les deux dernières valeurs calculées et construit progressivement la suite jusqu'au terme désiré. Cette méthode permet d'obtenir rapidement les résultats tout en limitant la consommation de mémoire. L'exemple fourni affiche les premières valeurs de la suite, de Fibonacci(0) à Fibonacci(10), permettant ainsi de vérifier facilement le bon fonctionnement du programme. Cet exemple constitue une excellente introduction aux suites récurrentes, aux algorithmes numériques et à l'utilisation des boucles en langage C, tout en illustrant l'une des plus célèbres créations de l'histoire des mathématiques.
Voici un programme permettant de calculer le Fibonacci de nombre entier en C:
on obtiendra le résultat suivant :
Fibonacci(0)=0Fibonacci(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