On désire effectuer le produit de 4 matrices réelles
de taille respective 10x20, 20x50, 50x1 et 1x100. On suppose que
le produit d'une matrice pxq par une matrice qxr demande pqr opérations
scalaires (cas typique d'un algorithme de multiplication matricielle).
Corrigé.
Donner, sous forme de programme ou de graphe d'états, une
machine de Turing réalisant une soustraction.
Corrigé.
Soient un ensemble de villes et une table des distances entre
ces villes.
Corrigé.
Soient les algorithmes récursifs quefaisje(n) et
etmoidonc(n). Ces algorithmes représentent des
fonctions prenant un nombre entier comme argument et renvoyant
un autre nombre entier.
fonction quefaisje(n) si n < 0 ^0 sinon si n pair ^quefaisje(n/2) sinon ^1 + quefaisje((n-1)/2) |
fonction etmoidonc(n) selon (n modulo 4) 0 : etmoidonc(n/4) 1 : 1 + etmoidonc((n-1)/4) 2 : 1 + etmoidonc((n-2)/4) 3 : 2 + etmoidonc((n-3)/4) |
Question subsidiaire facultative: Calculez la valeur renvoyée par ces fonctions pour n = 2p.q+r, en fonction des valeurs renvoyées pour p, q, et r. Pouvez vous alors expliquer ce que calculent ces fonctions.