algorithmique (école d'ingénieur) · Chapitre 11 · Exercice de TD
Fibonacci par les matrices
Programmes justes : logique de Hoare et invariants · niveau 2
Énoncé
On reprend et la fonction puissance(long[][] A, int b) du cours.
- Montrer par récurrence que, pour , .
- Dérouler le calcul de : valeurs successives de et nombre de produits de matrices. En déduire .
- Avec des
long, jusqu'à quel le calcul de est-il exact ? Que se passe-t-il au-delà ?
Corrigé
- Pour : . Si la formule est vraie pour , alors .
- prend les valeurs : cinq tours, donc cinq produits de matrices ( quand est impair, sinon). On obtient , donc (case en bas à droite, qui vaut d'après la question 1).
- est le dernier terme inférieur à . Le calcul de dépasse la capacité d'un
longet Java retourne un nombre négatif, sans signaler d'erreur :
f(10) = 55, f(50) = 12586269025, f(90) = 2880067194370816120, f(92) = 7540113804746346429, f(93) = -6246583658587674878
Au-delà, il faut java.math.BigInteger, ou un calcul modulo comme à l'exercice 11.7.
100 % gratuit
La suite du chapitre est sur Adloun
- 12 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.