Introduction
Sudoku, aussi appelé «Number Place» est un jeu de logique, dont l'objectif est relativement simple: la base des chiffres déjà donnés sont à placer sur chacune de ses cellules, un nombre qui n'a pas déjà soit dans le même dans la même colonne ou ligne, ou dans le même quadrant ou un secteur.
Il existe différents modèles de Sudoku, mais la plus répandue, est composée de 9 lignes et 9 colonnes, 9 places, chacune de ses neuf quadrants, et dans chacune de ses colonnes et les lignes doivent être placées compose des numéros 1 à 9. Un exemple pourrait être:

Présentation de la solution
Le retour arrière est une technique de programmation qui peut commencer par la définition de la récursivité (voir la définition de la récursivité ) avec la différence que dans le retour en arrière, car il ya plusieurs chemins différents à choisir, une fois arrivé à la fin et ne respectent pas condition énoncée, nous revenons à poursuivre la recherche ou de remplacement de différentes façons et peut-être incorrects.
L'idée de revenir en arrière si vous n'avez pas encore compris, il semble assez bon dans ces exemples de l' évêque et le pion, les pistes du roi et de la N-Damas.

-Je télécharger mon propre programme qui résout des puzzles de sudoku posés par la technique de traçage. Rappelez-vous que la meilleure technique est beaucoup moins pour résoudre des énigmes, mais pratiquement recourir à la force brutale pour résoudre les conflits avec la possibilité de revenir en chercher d'autres routes.
Processus de règlement
Le conseil de Sudoku à résoudre est donné par un parent "Sol [1 .. 9,1 .. 9] de 0 .. 9" où le Soleil [i, j] représente la valeur que prend la cellule, correspondant à 0 avec une case vide. Il utilise une matrice auxiliaire "start [1 .. 9 1 .. 9] de Bool" où initial [i, j] représente une cellule avec la valeur initiale ne peut pas être changé et correspond à la cellule "Sol [i, j].
Une branche lors de l' arbre d'exploration, nous le ferons si seulement une solution partielle, c'est que nous traitons k-prometteur, qui est, si, après un début de solution que nous continuons à bâtir des solutions partielles. Pour remédier à ce point, nous utilisons une fonction d'aide appelé «es_factible."
L'arbre de navigation généré aura les caractéristiques suivantes:
- m + = Hauteur 1: Etre m le nombre de cases vides au début.
- Nombre d'enfants de chaque nœud = 9: Un enfant pour chaque valeur possible de la cellule ij
Décharge
Le programme que j'ai fait montre tous les fichiers texte qui sont dans le dossier de débogage du projet et le processus génère un fichier de solution pour chaque sudoku et un fichier de résumé général avec le temps pris pour résoudre chacun d'eux. Je laisse le code source et une mémoire au format PDF.








Bonjour, j'ai un an avec un retour en arrière et je n'ai pas été capable de faire, si je peux aider, je vous en serais reconnaissant dans l'âme. Le problème est que j'ai une série de chiffres et que je dois être divisé en n +1 parties, n indique à l'utilisateur. et la somme des parties n doit être égal à n +1. n = 5 par exemple, str = 1002010002503001670
le résultat serait 100 20 1000 250 300 1670. et le maximum de chaque partie est de 1000, moins le dernier qui serait 7000. Merci