• Aucun résultat trouvé

L'objectif est d'écrire un programme de résolution de certains suduku en utilisant les commandes relatives aux ensembles de Python. On rappelle que :

N/A
N/A
Protected

Academic year: 2021

Partager "L'objectif est d'écrire un programme de résolution de certains suduku en utilisant les commandes relatives aux ensembles de Python. On rappelle que :"

Copied!
2
0
0

Texte intégral

(1)

Informatique

L'objectif est d'écrire un programme de résolution de certains suduku en utilisant les commandes relatives aux ensembles de Python.

On rappelle que :

ens1 = set([1, 2, 3, 4, 5, 6]) ens2 = set([2, 3, 4, 7])

ens3 = set([6, 7, 8, 9]) print ens1 & ens2

set([2, 3, 4]) # L'intersection de ens1 et ens2 print ens1 | ens3

set([1, 2, 3, 4, 5, 6, 7, 8, 9]) # L'union de ens1 et ens3 print ens1 & ens3

set([6])

print ens1 ^ ens3

set([1, 2, 3, 4, 5, 7, 8, 9]) # la différence Symétrique de ens1 et ens3 print ens1 - ens2

set([1, 5, 6]) # La différence ensembliste ens1 - ens2 Exemples de grilles :

A=

9 4 1 3

2 4 9 5

1 5

3 2

7 6 1

6 1 3 4 7

8 5 3 2 1

5 9 2

3 4 6

B=

4 7

7 1

7 9 5 1

2 3 9 5

9 5 6 4 7

4 1 6 3

5 8 2 6

1 4

2 3

Une grille sera stockée sous forme de tableau.Les cases sont repérées par le couple (numéro de lignes, numéro de colonnes) appartenant à [|0,8|]2. Les blocs sont re- pérés par le couple (numéro de lignes, numéro de colonnes) appartenant à[|0,2|]2. Exemple : La case (4,6) appartient au bloc (1,2).

1. On dispose d'une fonction ligne prenant en entrée une grille de sudoku T et un entier i ∈ [0,8] et retournant l'ensemble des chires absents de la ligne i. Ecrire de même la fonction colonne. Compléter de même la fonction bloc.

2. Ecrire une procédure possibilite prenant en entrée une grille de sudoku T et un couple d'entiers (l,c) compris appartenant à [0,8] et retournant l'ensemble des chires pouvant être plaçés dans la case (l,c).

Remarque : Si la case (l,c) est déjà aecté par le chire b alors la procédure doit retourner pour cette case l'ensemble {b}

1

(2)

3. On dispose d'une procédure vuepossibilite prenant en entrée une grille de sudoku T et retournant un tableau 9×9 où pour chaque couple d'entiers (i, j) compris appartenant à [0,8] la case de coordonnées (i, j) contient l'ensemble possibi- lite(i, j) des chires pouvant être plaçés dans la case (i, j).

On utilisera : A[i,j]= list(possibilite(A,i,j))[0]

4. Si pour un couple (i, j) l'ensemble possibilite(i, j) contient un unique chire a alors la case (i, j) doit être nécessairement aectée du chire a.

Ecrire une procédure methode1 prenant en entrée une grille de sudoku T et remplissant cette grille en utilisant la remarque précédente.

5. Si pour une ligne donnée de numéro i le chire a n'est présent qu'une unique fois dans les ensembles possibilite(i, j) pour j décrivant [0,8] alors, en notant j0 le numéro de colonne de l'unique ensemble possibilite(i, j0) contenant le chire a, la case (i, j0) doit être nécessairement aectée du chire a.

Ceci étant également vrai pour les colonnes et les blocs. En utilisant la remarque précédente, compléter la procédure methode2 prenant en entrée une grille de sudoku T et retournant cette grille totalement ou partiellement remplie

6. On dispose d'une fonction testtab prenant en entrée deux grilles de sudoku A et B et retourant (A==B).

Ecrire une procédure scann de complétion des grilles de sudoku en combinant les deux méthodes précédentes.

2

Références

Documents relatifs

En traction, torsion ou flexion il est possible de résoudre un système qui est hyperstatique et d’en déterminer sa déformation, ou la contrainte. Pour cela la même méthode pour

Ils sont ensuite émis sans vitesse par la source S, puis accélérés par un champ électrostatique uniforme qui règne entre S et P tel que.. U sp

This required keyword parameter allows the programmer to insert file identification data, where label is the address of an eight-byte area in the problem program

For read, sense, or end status byte operations, the control unit sends the request in signal to the multiplexer channel, and the channel responds only if the

Je construis un tableau, 254 en ligne, 37 en colonne, et je fais un trait en diagonale dans chaque case, que je prolonge en dehors du tableau :. Je complète chaque case en

Alors que, dans une autre étude paral- lèle avec des malades hollandais et portu- gais, on a observé une étroite corrélation entre le cagA des souches infectantes et le sous-type s1

Une grille de Sudoku, puzzle très en vogue en Japon, est faite de la juxtaposition de 9 carrés 3x3. Chacun de ces carrés comporte tous les chiffres de 1 à 9 une fois et

cides simples dans le jabot suggère que, sur les sites mêmes de la protéosynthèse tissulaire, le rapport entre azote et énergie disponible à un temps donné