Adloun

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 long et 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

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →