Sudoku-Solver



Ja, dies ist das N+1-te Sudoku Programm. Hat die Welt es gebraucht? Nein. Aber es löst alles was in Zeitungs-Rätseln so vorkommt, von Einfach bis extrem Schwierig.

Dieses kleine C-Programm habe ich also geschrieben um Sudoku Rätsel im Computer zu lösen, und meinen Kopf etwas zu entlasten.



sudoku.c



Eingabe ist eine 9x9 Matrix, mit Zahlen 0 = leeres Feld, 1..9 = Feld mit Nummernangabe. Am besten 9x9 Zahlen in eine Datei reinschreiben, und mit „./sudoku < datei“ aufrufen.

Ausgabe ist der Lösungsweg und das ausgefüllte Rätsel. Das Programm verwendet dabei nur 4 ganz einfache Regeln. Und für besonders schwierige Fälle noch eine 5.


Regel 1: Wenn in einer Zeile eine Zahl nur an einer Stelle stehen kann, muss diese richtig sein.

Regel 2: Wenn in einer Spalte eine Zahl nur an einer Stelle stehen kann, muss diese richtig sein.

Regel 3: Wenn in einem Block eine Zahl nur an einer Stelle stehen kann, muss diese richtig sein.

Regel 4: Wenn an einer Stelle nur eine Zahl stehen kann, muss diese richtig sein.

Regel 5: Rate eine Zahl und versuche das Rätsel so zu lösen.



Beispiel:



0 9 0   7 0 0   8 6 0
0 3 1   0 0 5   0 2 0
8 0 6   0 0 0   0 0 0


0 0 7   0 5 0   0 0 6
0 0 0   3 0 7   0 0 0
5 0 0   0 1 0   7 0 0


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


(C) Bernd Edlinger

30.12.2012