Sudoku solver
Solve sudoku problems using Node.js and output the solution in the terminal
var SudokuSolver = ; SudokuSolver;
Result will be:
Problem:------+-------+------0 0 3 | 0 2 0 | 6 0 09 0 0 | 3 0 5 | 0 0 10 0 1 | 8 0 6 | 4 0 0------+-------+------0 0 8 | 1 0 2 | 9 0 07 0 0 | 0 0 0 | 0 0 80 0 6 | 7 0 8 | 2 0 0------+-------+------0 0 2 | 6 0 9 | 5 0 08 0 0 | 2 0 3 | 0 0 90 0 5 | 0 1 0 | 3 0 0------+-------+------ Solution:------+-------+------4 8 3 | 9 2 1 | 6 5 79 6 7 | 3 4 5 | 8 2 12 5 1 | 8 7 6 | 4 9 3------+-------+------5 4 8 | 1 3 2 | 9 7 67 2 9 | 5 6 4 | 1 3 81 3 6 | 7 9 8 | 2 4 5------+-------+------3 7 2 | 6 8 9 | 5 1 48 1 4 | 2 5 3 | 7 6 96 9 5 | 4 1 7 | 3 8 2------+-------+------
Problem can be a one line string 003020600900305001001806400008102900700000008006708200002609500800203009005010300
or a formatted string (like in example), with 0
or .
for missing numbers.
Methods
solve (options)
Solves the problem and returns an object.
@options
- Object - containing the following:problem
- String - representing the sudoku problem.initial
- Boolean - print the problem (default: false)style
- Boolean - format the output (default: false)
solve (options).toString(style)
Converts the solution to string.
@style
- Boolean - if true, the stringified solution will be styled.
solve (options).printSolution(style)
Prints the stringified solution in terminal.
@style
- Boolean - if true, the stringified solution will be styled.
Specs
Test the global functions with:
$ jasmine-node spec
Example
There is an example in test foloder 1.js
. Run it with node test/1.js
Changelog
0.0.2
: Add option to format the output: (#2)0.0.1
: Format test file and validate string: (#1)0.0.0
: First working version
License
See the LICENSE file.