Fibonnaci à complexité logaritmique
Résolu/Fermé
b_khallou
Messages postés
335
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
14 octobre 2011
-
13 févr. 2008 à 22:29
bachra - 3 mai 2008 à 16:20
bachra - 3 mai 2008 à 16:20
A voir également:
- Complexité suite de fibonacci
- Complexité ✓ - Forum Programmation
- Complexité - Forum C
- Besoin d'aide sur la complexité - Forum Algorithmes / Méthodes
- Complexite et np completude - Forum Programmation
- Algorithme " La complexité " - Forum Java
6 réponses
b_khallou
Messages postés
335
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
14 octobre 2011
34
15 févr. 2008 à 00:11
15 févr. 2008 à 00:11
slt Kzanadeus , je veut savoir est ce que cette solution à complexité logarithmique?
F:=proc(n) option remember;
local m;
if n=0 then 0
elif n=1 then 1
else
m:=iquo(n,2):
if n mod 2 = 0 then F(m)^2+2*F(m-1)*F(m)
else F(m)^2+F(m+1)^2 fi:
fi:
end:
F:=proc(n) option remember;
local m;
if n=0 then 0
elif n=1 then 1
else
m:=iquo(n,2):
if n mod 2 = 0 then F(m)^2+2*F(m-1)*F(m)
else F(m)^2+F(m+1)^2 fi:
fi:
end:
Bonjour,
je veut savoir un algorithme de calcul d'une suite de Fibonacci mais àa complexité logarithmique ( O(log(n)) et la méthode consiste à le suivant : (parexemple je veut calculer F(62) ) alors : je calcul
-------------- 1er itération ------------------>2em itération-------------> 3em itération-----------> dernière itération
F(31)F(30)------------------> F(15)F(14)------------------>F(7)F(6)---------------------->F(3)F(2)--------------------> F(1)F(0)
et voila à chaque itération en divise par 2 et on diminue 1 jusqu'a F(1) et F(0)
et merci d'avance
je veut savoir un algorithme de calcul d'une suite de Fibonacci mais àa complexité logarithmique ( O(log(n)) et la méthode consiste à le suivant : (parexemple je veut calculer F(62) ) alors : je calcul
-------------- 1er itération ------------------>2em itération-------------> 3em itération-----------> dernière itération
F(31)F(30)------------------> F(15)F(14)------------------>F(7)F(6)---------------------->F(3)F(2)--------------------> F(1)F(0)
et voila à chaque itération en divise par 2 et on diminue 1 jusqu'a F(1) et F(0)
et merci d'avance
kzanadeus
Messages postés
70
Date d'inscription
lundi 3 décembre 2007
Statut
Membre
Dernière intervention
4 décembre 2009
3
14 févr. 2008 à 11:37
14 févr. 2008 à 11:37
RE !!!
Je viens de comprendre ou le bas blesse....
C'est un algorithme à compléxité logarithmique que tu recherche et ainsi non pas une méthode récursive terminale.
Cadeau pour toi : GOOGLE + WIKIPEDIA = https://fr.wikipedia.org/wiki/Suite_de_Fibonacci#Algorithme_logarithmique
Cordialement Kzanadeus.
Je viens de comprendre ou le bas blesse....
C'est un algorithme à compléxité logarithmique que tu recherche et ainsi non pas une méthode récursive terminale.
Cadeau pour toi : GOOGLE + WIKIPEDIA = https://fr.wikipedia.org/wiki/Suite_de_Fibonacci#Algorithme_logarithmique
Cordialement Kzanadeus.
b_khallou
Messages postés
335
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
14 octobre 2011
34
14 févr. 2008 à 21:52
14 févr. 2008 à 21:52
oui avec le lien ça marche , je vous remerciez Kzanadeus
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kzanadeus
Messages postés
70
Date d'inscription
lundi 3 décembre 2007
Statut
Membre
Dernière intervention
4 décembre 2009
3
14 févr. 2008 à 11:08
14 févr. 2008 à 11:08
salut, cela me parait trop simple pour tout avoir compris mais s'est-on jamais.
int function fibo(int num)
{
if(num == 0)return 0;
if(num == 1 || num == 2)return 1;
return(fibo(num/2) + fibo((num/2)-1);
}
On dirait que c'est ce que tu veux faire mais il me semblait que la théorie était plutôt soit F la fonction de fibonacci :
Fx = Fx-1 + Fx-2
avec F0 = 0, F1 = 1 et F2 = 1.
Mais bon. J'espère que cela à pu t'aider un peu.
Cordialement Kzanadeus.
int function fibo(int num)
{
if(num == 0)return 0;
if(num == 1 || num == 2)return 1;
return(fibo(num/2) + fibo((num/2)-1);
}
On dirait que c'est ce que tu veux faire mais il me semblait que la théorie était plutôt soit F la fonction de fibonacci :
Fx = Fx-1 + Fx-2
avec F0 = 0, F1 = 1 et F2 = 1.
Mais bon. J'espère que cela à pu t'aider un peu.
Cordialement Kzanadeus.