Correction
Cf. cours pour les deux premiers points. Cf. TD pour le dernier point.
Tableau: [ 1, 5, 9, 12, 15, 21, 29 ]
Recherche de 30
===============
-> rechDichoRec(tab, 0, 6, 30): milieu = 3, tab[milieu] = 12
-> rechDichoRec(tab, 4, 6, 30): milieu = 5, tab[milieu] = 21
-> rechDichoRec(tab, 6, 6, 30): milieu = 6, tab[milieu] = 29
-> rechDichoRec(tab, 7, 6, 30): deb > fin
<- -1
<- -1
<- -1
<- -1
-> rechDichoIter(tab, 0, 6, 30):
min (0) <= max (6), milieu = 3, tab[milieu] = 12
min (4) <= max (6), milieu = 5, tab[milieu] = 21
min (6) <= max (6), milieu = 6, tab[milieu] = 29
min (7) > max (6)
<- -1
Recherche de 0
===============
-> rechDichoRec(tab, 0, 6, 0): milieu = 3, tab[milieu] = 12
-> rechDichoRec(tab, 0, 2, 0): milieu = 1, tab[milieu] = 5
-> rechDichoRec(tab, 0, 0, 0): milieu = 0, tab[milieu] = 1
-> rechDichoRec(tab, 0, -1, 0): deb > fin
<- -1
<- -1
<- -1
<- -1
-> rechDichoIter(tab, 0, 6, 0):
min (0) <= max (6), milieu = 3, tab[milieu] = 12
min (0) <= max (2), milieu = 1, tab[milieu] = 5
min (0) <= max (0), milieu = 0, tab[milieu] = 1
min (0) > max (-1)
<- -1
Recherche de 21
===============
-> rechDichoRec(tab, 0, 6, 21): milieu = 3, tab[milieu] = 12
-> rechDichoRec(tab, 4, 6, 21): milieu = 5, tab[milieu] = 21
<- 5
<- 5
-> rechDichoIter(tab, 0, 6, 21):
min (0) <= max (6), milieu = 3, tab[milieu] = 12
min (4) <= max (6), milieu = 5, tab[milieu] = 21
<- 5
4 Carré magique
Un carré magique est un carré de nombres tel que les sommes des nombres sur chacune de ses lignes, colonnes
et diagonales sont les mêmes.
4.1 Vérification
Écrire un algorithme permettant de vérifier si un tableau 2D de nombres est un carré magique.
Correction
3