Då var man klar med en till inlämningsuppgift idag. Denna var för fördjupningskursen i programmeringsteknik. Vi skulle koda ihop en Sudoku lösare som använde en rekursiv backtracking algoritm. Med det menas att den provar den första siffran som är tillåten enligt sudoku reglerna, sedan går den till nästa ruta och provar första som går enligt reglerna där, så fortsätter den tills den kommit till slutet eller den kommer till en ruta där inga siffror är tillåtna, då är någon tidigare fel så då går den tillbaka ett steg och provar en annan siffra där.

Detta är den sämsta och mest korkade algoritmen man kan använda, men också lättast att koda. Förvånansvärt nog kan jag inte hitta några sudokus som tar längre än en sekund att lösa ändå. Det bevisar lite hur bra datorer idag är.

Så här ser det ut i alla fall. Man skriver in det sudokut man vill ha löst:

an unsolved sudoku with my sudoku program

Och såhär ser det ut efter man har tryckt på Solve knappen (om det inte går att lösa så ploppar det ner en ruta och säger det, så får man ändra på det man skrev in från början):

A solved sudoku with my sudoku solving program

Om du vill lösa lite sudokus från tidningar eller bara leka lite med programmet kan du ladda ner det härifrån, jag tror det bör funka på alla system, dvs windows och linux också men har inte testat det.[](http://tetrisrockstar.com/wp-content/uploads/sudoku_solver.jar)


tetris