Algorithme
walidou*verrati
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
salut! Est_ce que on peut realiser un algorithme de suite de fibonnaci ;; en utilisant juste 3 variables dans la déclaration ??
4 réponses
-
-
'lut, aux premiers abords c'est possible:
-
i
, l'itération à laquelle on se trouve -
f1
, qui vautfib(i-1)
, c'est à dire la valeur précédente -
f2
, qui vautfib(i-2)
, la valeur précédente de f1
Mais en pratique il nous faut une variable supplémentaire pour stocker la valeur future def1
avant qu'on ne fasse tourner les valeurs précédentes avecf2 = f1
.
Donc en fait, non. -
-
Bonsoir, on n'est pas là non plus pour faire le travail à ta place.
Tu peux tenter d'écrire quelque chose et on te diras si ça marche ou pas.
-
Bonjour,
"3 variables dans la déclaration"
Est-ce que l'on compte le paramètre de la fonction ?
Genre, si je faisfibo(n)
avec justen
, ça fait 0 ou 1 ?
int fibo(int n) { return n < 2 ? 1 : fibo(n - 1) + fibo(n - 2); }
PS. Est-ce que l'on demande aussi à ce que l'algorithme soit efficace ?
Parce que celui-ci ne l'est pas vraiment... mais il a moins de 3 variables !-
-
Perso, je ne suis pas convaincu que ce soit que la faute du langage...
On peut faire exactement pareil avec Pascal pour la première fonction.
function fibo(n:integer):integer; begin if (n < 2) then result := 1 else result := fibo(n-1) + fibo(n-2) end;
Remarque : même question que tout à l'heure, est-ce que ce code déclare 0 variable, 1 variable (en comptant n), ou 2 (avec en plus la valeur result en Pascal) ?
Pour ma deuxième proposition, ce n'est pas adaptable mais il est tout à fait possible de descendre à 2 variables aussi (3 ou 4 selon comment on compte).
-