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;
} |