Fibonacci
gaby10
Messages postés
460
Statut
Membre
-
smellems Messages postés 135 Statut Membre -
smellems Messages postés 135 Statut Membre -
Salut à tous,
Quelqu'un a -t-il vu cet exercice quelque part? Aide -moi s'il vous plait.
Quelqu'un a -t-il vu cet exercice quelque part? Aide -moi s'il vous plait.
1- Soit la suite Vn définie de la façon suivante: V0= (1,1); V1= (1,2); Pour tout n>1 Vn= (Un, Un+1) où (Un) est la suite de Fibonacci. Exprimer Vn+1 en fonction de Vn. On pourra utiliser les fonctions de projections premiers et second qui à partir de (x, y) renvoient respectivement x ou y. 2- On cherche une nouvelle fonction qui calcule la suite de Fibonacci mais où, pendant le calcul de la valeur de cette suite pour un entier N, la fonction n'est appelée qu'une seule fois sur chacune des valeurs inférieures à N. En particulier. Si (Un) est la suite de Fibonacci, pour le calcul de Un, il est inutile de calculer Un-1. Donc il est intéressant de pouvoir conserver certaines valeurs, au lieu de les recalculer. Pour cela, on commencera par écrire une fonction FibboAux qui à partir d'un entier n calcule la valeur de la suite Vn. 3- En déduire une fonction qui calcule la suite de Fibonacci en ne calculant chacun des termes de la suite qu'une seule fois.Merci de votre bonne comprehension
3 réponses
pour la première question:
la suite de fibonacci est caractérisée par :
U1=U2=1
Un+2=Un+Un+1
donc pour écrire Vn+1 en fonction de Vn il suffit de faire:
Vn+1=(Pr1(Vn),Pr1(Vn)+Pr2(Vn)) qlq soit n>=1
où Pr1 est la première projection et Pr2 est la deuxième projection
la suite de fibonacci est caractérisée par :
U1=U2=1
Un+2=Un+Un+1
donc pour écrire Vn+1 en fonction de Vn il suffit de faire:
Vn+1=(Pr1(Vn),Pr1(Vn)+Pr2(Vn)) qlq soit n>=1
où Pr1 est la première projection et Pr2 est la deuxième projection
salut,
pour la deuxième question
fonction fibboaux(n :entier)
début
si (n=0)
alors V0=(1,1)
sinon
pour i allant de 1 à n faire
Vi=(Pr2(Vi),Pr1(Vi)+Pr2(Vi))
fin pour
retourner (Vn)
fin
pour la deuxième question
fonction fibboaux(n :entier)
début
si (n=0)
alors V0=(1,1)
sinon
pour i allant de 1 à n faire
Vi=(Pr2(Vi),Pr1(Vi)+Pr2(Vi))
fin pour
retourner (Vn)
fin
WAH!
désolé ghiz mais je ne comprend pas...
juste pour résumer..
la suite de Fibonacci:
F(n) = 0 si n=0
F(n) = 1 si n=1
F(n) = F(n-1) + F(n-2)
je sais pas si ce que tu cherche, c'est la fonction résursive...? mais je vais essayer... (tu peux surement la trouver sur internet aussi)
je ne suis pas certain mais je crois que c'est bon....
bonne chance
désolé ghiz mais je ne comprend pas...
juste pour résumer..
la suite de Fibonacci:
F(n) = 0 si n=0
F(n) = 1 si n=1
F(n) = F(n-1) + F(n-2)
je sais pas si ce que tu cherche, c'est la fonction résursive...? mais je vais essayer... (tu peux surement la trouver sur internet aussi)
function F(int n)
{
if(n==0)
{
return 0;
}
if(n==1)
{
return 1;
}
return F(n-1) + F(n-2);
}
je ne suis pas certain mais je crois que c'est bon....
bonne chance