解决任何二次数独,所以大小为4,9,16,25的数独.不需要硬编码这些“块”,你的普通数独字段的子单元。
使用SWI-Prolog和clp(FD)库。
以如下格式给出的Sudokus (列表列表):
[[_,1,3,_],
[2,_,_,_],
[_,_,_,3],
[_,2,1,_]]
程序调用时使用:
solve_sudoku([[_,1,3,_],[2,_,_,_],[_,_,_,3],[_,2,1,_]],L).
L = [[4, 1, 3, 2], [2, 3, 4, 1], [1, 4, 2, 3], [3, 2, 1, 4]]