Bonjour,
Il n'a pas de chance avec cet exemple, même les explications sont fausses. Dans le §2.3, il écrit :
if(n <= 2) // If n is 1 or 2
Or n est un entier signé qui peut donc être négatif ou nul. Le retour sera à 1 dans tous ces cas, pas seulement pour 1 et 2. Et même si n avait été un unsigned cela aurait dû inclure 0.
Par ailleurs, on pourrait discuter sur la définition de récurrence qui peut prolonger les valeurs en positif comme en négatif (-13,8,-,5,-3,2,-1,1,0,1,1,2,3,5,8,13...), avec n >= 0, fib(-n) = fib(n) si n pair et -fib(n) si n impair.
Sinon, le document n'est pas mal, même sil la multiplication des tables de matières partielles est un peu fatigante.
Salutations
Partager