Générateur de Sudoku.

Fermé
Binder31 Messages postés 44 Date d'inscription jeudi 15 janvier 2009 Statut Membre Dernière intervention 23 juin 2011 - 23 juil. 2010 à 16:38
Binder31 Messages postés 44 Date d'inscription jeudi 15 janvier 2009 Statut Membre Dernière intervention 23 juin 2011 - 25 juil. 2010 à 21:18
Bonjour,

je tente de coder un programme générant aléatoirement des grilles de sudoku,
mais je ne sais pas trop par où commencer, j'ai d'abord pensé à une méthode s'approchant du brute force, mais cette idée est évidement débile... ^^
J'espère que vous pourrez m'aider.



A voir également:

3 réponses

Defouille Messages postés 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
Modifié par Defouille le 23/07/2010 à 17:02
Bonjour,

je me suis amusé a coder un sudoku en javascript si ça t'intéresse, j'ai donc eu les mêmes problématiques.

Une façon de générer des grilles est la suivante :
tu pars d'une solution :

[1,2,3,   4,5,6,   7,8,9]    
[4,5,6,   7,8,9,   1,2,3]    
[7,8,9,   1,2,3,   4,5,6]    

[2,3,4,   5,6,7,   8,9,1]    
[5,6,7,   8,9,1,   2,3,4]    
[8,9,1,   2,3,4,   5,6,7]    

[3,4,5,   6,7,8,   9,1,2]    
[6,7,8,   9,1,2,   3,4,5]    
[9,1,2,   3,4,5,   6,7,8]    


et tu inter-changes 2 lignes ou 2 colonnes seulement si elles appartiennent au même sous-carré.
(qu'elle phrase compliqué !)

tu aurais par exemple :

[7,8,9,   1,2,3,   4,5,6]    
[4,5,6,   7,8,9,   1,2,3]    
[1,2,3,   4,5,6,   7,8,9]    

[2,3,4,   5,6,7,   8,9,1]    
[5,6,7,   8,9,1,   2,3,4]    
[8,9,1,   2,3,4,   5,6,7]    

[3,4,5,   6,7,8,   9,1,2]    
[6,7,8,   9,1,2,   3,4,5]    
[9,1,2,   3,4,5,   6,7,8]    


puis

[7,8,9,   3,2,1,   4,5,6]  
[4,5,6,   9,8,7,   1,2,3]    
[1,2,3,   6,5,4,   7,8,9]  

[2,3,4,   7,6,5,   8,9,1]    
[5,6,7,   1,9,8,   2,3,4]    
[8,9,1,   4,3,2,   5,6,7]    

[3,4,5,   8,7,6,   9,1,2]    
[6,7,8,   2,1,9,   3,4,5]    
[9,1,2,   5,4,3,   6,7,8]    


Il faut ajouter un coté aléatoire au nombre de changements et au lignes ou colonnes changées.

Si ca t'intéresse tu peux télécharger et regarder ce code :
https://code.google.com/archive/p/js-sudoku

Il y a seulement 10 types de personnes, ceux qui comprennent le binaire, et les autres...
0
Defouille Messages postés 388 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 15 novembre 2011 54
Modifié par Defouille le 23/07/2010 à 17:03
Un petit commentaire pour préciser que de cette façon tu ne peux pas générer toutes les solutions possibles, mais bon c'est une façon rapide d'avoir une grille de sudoku.

Et puis même si toutes les possibilités n'y sont pas, tu peux en faire un bon paquet ^^
0
Allen1210 Messages postés 361 Date d'inscription lundi 14 juin 2010 Statut Membre Dernière intervention 28 avril 2017 56
23 juil. 2010 à 16:57
Et bien avec tout plein de Random...

1 : Tu te fais une marge de difficulté : Démoniaque (tu donnes 3 chiffres), Très dur (4), dur(5),moyen(6),facile(7),très facile(8), bébé(9), etc.

2 : Quand l'utilisateur choisi une difficulté, tu faire répeter la boucle que je fais t'écrire plus bas le nombre X de fois que tu donne des chiffres.

3 : Tu sort un # Random de colonne, un autre de # de ligne et un autre de # sudoku, ensuite, tu vérifie via un tableau ou une grille si la colonne sorti par le Random, et tu vérifie que ne nombre sorti respecte les critères de sudoku : Pas sur la même ligne, colonne, carré.

Ça devrait ressembler un peu à cela...
0
Binder31 Messages postés 44 Date d'inscription jeudi 15 janvier 2009 Statut Membre Dernière intervention 23 juin 2011 6
25 juil. 2010 à 21:18
Ok merci beaucoup c'est une piste intéressante à exploiter, je pense que ça va bien me préparer pour mon IUT info l'année prochaine ^^
0