FIBONACCI RÉCURSIF

Signaler
Messages postés
527
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
6 octobre 2008
-
Messages postés
12
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
1 octobre 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/10285-fibonacci-recursif

Messages postés
12
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
1 octobre 2009

Hum, franchement, avant de faire du récursif faut réfléchir. Je sais pas si vous avez remarqué, mais c'est de l'exponentiel qu'il nous a fait là...
Bon, pour remédier à ça il suffit de faire ça :

# int fibonacci_aux(int n, int a, int b) {
# if (n == 0) return a;
# return fibonacci(n-1, a+b, a);
# }
#
# int fibonacci (int n) = {
# return fibonacci_aux(n, 1, 0);
# }

Là c'est du linéaire, il existe mieux, mais ça devient compliqué après.
Messages postés
389
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
17 décembre 2004
1
oui c est "return m" à la place de "return 2"

++
Morgan
Messages postés
1
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
5 février 2003

salut je pense que tu as fait une erreur dans ton code :

if (m <= 1)
return 2 ;

Ce n'est pas plutot "return m" ??

a+
Romain M.
Messages postés
41
Date d'inscription
dimanche 17 novembre 2002
Statut
Membre
Dernière intervention
14 avril 2004

En fait, c'est très connu, l'évolution de la démographie chez les lapins suit la croissance de la suite de Fibonacci...
Afficher les 7 commentaires