suite de Fibonacci

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : suite de Fibonacci

Re: suite de Fibonacci

par Ryle » 16 oct. 2010, 10:34

Voici ce que fait ton code :)
<?php
	function fib($nombre){ // crées une fonction fib avec le parametre nombre
		if ($nombre<0) { // si nombre est inferieure a zero
			return (0); // la fonction retourne la valeur 0
		}
		elseif ($nombre<2) { // sinon si nombre est inférieur a 2
			return ($nombre); // retourne la valeur de nombre
		}

		return fib ($nombre-1)+fib($nombre-2); // retourne la somme (a+b) du résultat de la fonction fib() appliquée à la valeur "nombre-1" (donc 5 si nombre=6) et du résultat de la fonction fib() appliquée à la valeur "nombre-2" (donc 4 si nombre=6)
	}

// ici nous ne sommes plus dans la fonction

for ($i=0;$i<20;$i++){ // Pour i allant de 0 à 19 (strictement inférieur à 20)
		$nouveau_nombre=fib($i); // calcul le résultat de la fonction fib() appliquée à la valeur de i (et stock le résultat dans $nouveau_nombre)
		echo $nouveau_nombre; // affiche ce résultat
		echo '<br>'; 
	}
?>
En résumé, tu appliques la fonction fib() au nombre 0, tu affiches le résultat, puis tu recommences avec la valeur 1, la valeur 2, etc. jusqu'à 19 pour obtenir les 20 premiers résultats de la suite de Mr Fibo :)

Re: suite de Fibonacci

par stealth35 » 15 oct. 2010, 15:25

et comme ca :
function fibo($n)
{
    if($n <= 1)
    {
        return $n;
    }
    else
    {
        return fibo($n - 1) + fibo($n - 2);
    }
}

suite de Fibonacci

par Shim » 15 oct. 2010, 15:18

Bonjour j'ai un peu de mal a comprendre le fonctionnement; DItes moi si je suis dans le vrai svp.

<?php
function fib($nombre){
if ($nombre<0) {
return (0);
}
La ca veut dire crées une fonction fib avec le parametre nombre. si nombre est inferieure a zero considere qu'il vaut zero ? elseif ($nombre<2) {
return ($nombre);
}
la sinon si nombre est inférieur a 2 retourne nombre
return fib ($nombre-1)+fib($nombre-2);
}
retourne le nombre d'avant + le nombre encore avant ?
for ($i=0;$i<20;$i++){
$nouveau_nombre=fib($i);
echo $nouveau_nombre;
echo '<br>';
}
ici on dit a l'ordi que tant que $i est inferieur a 2 il faut ajouter $i a lui même et creer une variable nouveau_nombre avec se resultat et l'afficher dans le html ?
?>
C'est tres brouillont mais j'ai bcp de mal a le conceptualiser.