Bonjour,
J'ai créer une petite fonction destinée à calculer le n-ième terme de la suite de Fibonacci : 1,1,2,3,5,8,13 ... (chaque terme égale la somme des deux précédents)
Pourriez-vous y jeter un coup d'oeil (tout marche, tout fonctionne mais j'aimerais avoir votre avis ...) :
Est ce qu'il y certaines choses que j'ai faites de travers (niveau de l'algo) ? Y a il des améliorations a apportées ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 /* Suite de Fibonacci, chaque terme est égale à la somme de deux précdents : 1,1,2,3,5,8 ... Le n ième terme est donc la somme des termes (n-1) et (n-2) si n>2 (n entier positif) */ long int fib(unsigned int n) { long int resultat=1; // Le n ième terme long int terme_1 = 1, terme_2 = 1; // Les termes n-1 et n-2 if (n < 3) return 1; resultat = 2; for (int C=3; C<=n; C++) { // n = (n -1) + (n - 2) resultat = terme_1 + terme_2; /* Logiquement, lorsqu'on passe au terme suivant, le terme (n-1)devient le terme (n - 2) et le terme (n - 2) devient le terme n */ terme_1 = terme_2; terme_2 = resultat; } return resultat; }
merci
Partager