Table des Matières

Sujet précédent

Bienvenue à la documentation de SudokuStudyLib!

Sujet suivant

Quelle est la logique?

Cette page

La connaissance de base du sudoku

Sudoku est une sorte de jeu de puzzle. Il est l’un des meilleur moyen d’apprendre la logique, et dans le même temps, le langage Python est l’un des meilleurs langage informatique pour apprendre logique. Donc, si nous pouvons combiner ces deux types d’outils pour enseigner aux enfants ou jeunes gens à apprendre la logique, ce sera parfait. C’est pourquoi le projet soit terminé et va.

Un sudoku classique

Vous pouvez étudier quoi et comment est-sudoku en page Wiki: http://en.wikipedia.org/wiki/Sudoku

Ce qui suit est un sudoku classique:

 

et voici la solution pour elle:

sudoku_init   sudoku_result

règles

Les règles de base pour résoudre un sudoku est très facile:

  1. Mettez le nombre de 1-9 pour chaque ligne (y compris X-Way et y aller) et chaque boîte.

  2. chaque ligne et chaque boîte ne peuvent pas dupliquer le nombre de 1-9.

Combien possible puzzles dans un sudoku de 9x9

Si nous mettons le premier numéro d’une position (1, 1), il n’y a doit avoir 9 numéros peuvent être sélectionnés à mettre po Ensuite, nous avons mis le deuxième nombre dans la postion (1, 2), il existe doit avoir 8 chiffres peut être choisi de mettre po Donc, et comme il passe, nous pouvons écrire les nombres possibles, nous pouvons choisir dans toutes les positions:

9! 6! 3! 6! 3! 1! 3! 1! 1!
9 6 3 6 3 1 3 1 1
8 5 2 5 2 1 2 1 1
7 4 1 4 1 1 1 1 1
6 3 1 3 1 1 1 1 1
5 2 1 2 1 1 1 1 1
4 1 1 1 1 1 1 1 1
3 1 1 1 1 1 1 1 1
2 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1

Ainsi, les combinaisons possibles sont 9! * 6! * 3! * 6! * 3! 1 *! * 3! 1 *! * 1 * = 4,514,807,808,000

si nous utilisons python caculate il

>>> def n(x):
    if x==1:
        return 1
    else:
        return x*n(x-1)

>>> n(9)*n(6)*n(3)*n(6)*n(3)*n(1)*n(3)*n(1)*n(1)

Sur les mathématiques de sudoku, vous pouvez l’obtenir à Wiki, http://en.wikipedia.org/wiki/Mathematics_of_Sudoku