Les fonctions récursives - Les clefs du PHP

Une fonction peut s’appeler elle-même, de façon récursive. Nous allons le
voir avec une suite de Fibonacci. Pour la petite histoire, Leonardo
Fibonacci
était un moine italien qui vivait 250 ans avant Léonard de Vinci.

Il avait remarqué que les végétaux respectaient une suite dans leur
croissance. Ainsi, les pétales de fleurs ou les feuilles sur les arbres
observaient une sorte de règle. Il en fit une fonction mathématique. Cette
fonction génère un nombre en faisant la somme des deux précédents. Les
deux premiers sont 0 et 1 puis 0+1=1; 1+1=2; 2+1=3 ; 3+2=5… Si vous
continuez, vous parviendrez rapidement à des nombres vertigineux.
Voici la fonction :



Fonction suite de Fibonacci fibonacci.php
<?
function fibonacci ($nombre){
if ($nombre<0){
return (0);
}
elseif($nombre<2){
return ($nombre);
}
return fibonacci($nombre-1)+fibonacci($nombre-2);
}
for ($i=0;$i<20;$i++){
$nouveau_nombre=fibonacci($i);
echo $nouveau_nombre;
echo ’<br>’;
} ?>


Les deux premiers tests avec if et elseif concernent les deux premiers nombres qu’il faut générer, puis la fonction s’appelle deux fois et retourne le résultat. La boucle for est là pour créer la liste des nombres obtenus.

Le calcul au-delà de 30 dépend de la capacité de votre machine.

http://programmationdebutant.blogspot.com
La fonction de Fibonacci


Aucun commentaire:

Enregistrer un commentaire