Professional Documents
Culture Documents
Date : 01/12/2015
Version : 2
Page : 1/1
Description du jeu
Le jeu consiste remplir les cases vides de T avec un entier entre 1 et 9 de sorte que lentier
n'apparat que :
une seule fois dans une ligne de T ;
une seule fois dans une colonne de T ;
une seule fois dans un carr de T.
i/j 1 2 3 4 5 6 7 8 9 i/j 1 2 7 8 9
1 5 3 0 0 7 0 4 0 0 1 K=0 K=1 K=6 K=7 K=8
Carr
2 6 0 0 1 9 5 0 0 0 2 K=9 K=10 K=15 K=16 K=17
N 3
3 0 9 8 0 0 0 7 6 0 (K=16) 3 K=18 K=24 K=25 K=26
4 8 0 0 0 6 0 0 0 3 4 K=27
5 4 0 0 8 0 3 0 0 1 5
6 7 0 0 0 2 0 0 0 6 6
Carr
7 0 6 0 0 0 0 2 8 0 7 K=60 K=61 K=62
N 9
8 0 3 0 4 1 9 0 0 5 (K=70) 8 K=63 K=69 K=70 K=71
9 1 0 0 0 8 0 0 7 9 9 K=72 K=73 K=78 K=79 K=80
Travail demand :
1) [2 pts] Ecrire la fonction nbVide(T) qui retourne le nombre de cases vides dans T.
2) [2 pts] Ecrire la fonction DansLigne(T, i, x) qui vrifie si x se trouve dans la ligne i ou pas.
3) [5 pts] Ecrire la fonction OrdreCarre(i, j) qui retourne lordre du carr o se trouve la case dindices i
et j.Un carr de T est identifi par lordre k de la case se trouvantau centre de ce carr.k sappelle
alors ordre du carr(voir Figure 1).
Exemples :
Les carrs 1, 2, , 9 de T sont identifis par les valeurs de k suivantes :
10, 13, 16, 37, 40, 43, 64, 67, 70 quicorrespondent aux centres dindices i et j suivants :
(2, 2), (2, 5), (2, 8), (5, 2), (5, 5), (5, 8), (8, 2), (8, 5), (8, 8).
4) [4 pts] Ecrire la fonction DansCarre(T, i, j, x) qui vrifie si x se trouve dans le carr contenant la case
T[i][j] (ou T[i,j]).
5) [4 pts] Ecrire la procdure RemplirCase(T, i, j) qui permet de remplir la case videT[i, j] par une
valeurentre 1 et 9 en faisant tous les contrles ncessaires.La grille T est suppose bien videment
remplie partiellement par des chiffres entre 1 9.
6) [3 pts] Proposer une procdure RemplirGrille(T) permettant de complter le remplissage des cases
vides de la grille SuDoKu T par des chiffres entre 1 et 9.
Bon travail !