| | 28 | |
| | 29 | |
| | 30 | | ?- hexagon::mhex(Vs). |
| | 31 | Vs = [3, 17, 18, 19, 7, 1, 11, 16, 2, 5, 6, 9, 12, 4, 8, 14, 10, 13, 15] ; |
| | 32 | Vs = [3, 19, 16, 17, 7, 2, 12, 18, 1, 5, 4, 10, 11, 6, 8, 13, 9, 14, 15] ; |
| | 33 | Vs = [9, 11, 18, 14, 6, 1, 17, 15, 8, 5, 7, 3, 13, 4, 2, 19, 10, 12, 16] ; |
| | 34 | (etc) |
| | 35 | |
| | 36 | |
| | 37 | | ?- soduku::sudoku(Rows), append(Rows, Vs), label(Vs). |
| | 38 | Rows = [[1, 2, 3, 4, 5, 6, 7, 8, 9], [4, 5, 6, 7, 8, 9, 1, 2, 3], [7, 8, 9, 1, 2, 3, 4, 5, 6], [2, 1, 4, 3, 6, 5, 8, 9, 7], [3, 6, 5, 8, 9, 7, 2, 1, 4], [8, 9, 7, 2, 1, 4, 3, 6, 5], [5, 3, 1, 6, 4, 2, 9, 7, 8], [6, 4, 2, 9, 7, 8, 5, 3, 1], [9, 7, 8, 5, 3, 1, 6, 4, 2]], |
| | 39 | Vs = [1, 2, 3, 4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9, 1, 2, 3, 7, 8, 9, 1, 2, 3, 4, 5, 6, 2, 1, 4, 3, 6, 5, 8, 9, 7, 3, 6, 5, 8, 9, 7, 2, 1, 4, 8, 9, 7, 2|...] ; |
| | 40 | Rows = [[1, 2, 3, 4, 5, 6, 7, 8, 9], [4, 5, 6, 7, 8, 9, 1, 2, 3], [7, 8, 9, 1, 2, 3, 4, 5, 6], [2, 1, 4, 3, 6, 5, 8, 9, 7], [3, 6, 5, 8, 9, 7, 2, 1, 4], [8, 9, 7, 2, 1, 4, 3, 6, 5], [5, 3, 1, 6, 4, 2, 9, 7, 8], [6, 4, 8, 9, 7, 1, 5, 3, 2], [9, 7, 2, 5, 3, 8, 6, 4, 1]], |
| | 41 | Vs = [1, 2, 3, 4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9, 1, 2, 3, 7, 8, 9, 1, 2, 3, 4, 5, 6, 2, 1, 4, 3, 6, 5, 8, 9, 7, 3, 6, 5, 8, 9, 7, 2, 1, 4, 8, 9, 7, 2|...] ; |
| | 42 | (etc) |
| | 43 | |
| | 44 | |
| | 45 | | ?- soduku::(problem(1, Rows), sudoku(Rows)), append(Rows, Vs), label(Vs). |
| | 46 | Rows = [[1, 5, 6, 8, 9, 4, 3, 2, 7], [9, 2, 8, 7, 3, 1, 4, 5, 6], [4, 7, 3, 2, 6, 5, 9, 1, 8], [3, 6, 2, 4, 1, 7, 8, 9, 5], [7, 8, 9, 3, 5, 2, 6, 4, 1], [5, 1, 4, 9, 8, 6, 2, 7, 3], [8, 3, 1, 5, 4, 9, 7, 6, 2], [6, 9, 7, 1, 2, 3, 5, 8, 4], [2, 4, 5, 6, 7, 8, 1, 3, 9]], |
| | 47 | Vs = [1, 5, 6, 8, 9, 4, 3, 2, 7, 9, 2, 8, 7, 3, 1, 4, 5, 6, 4, 7, 3, 2, 6, 5, 9, 1, 8, 3, 6, 2, 4, 1, 7, 8, 9, 5, 7, 8, 9, 3, 5, 2, 6, 4, 1, 5, 1, 4, 9|...] . |
| | 48 | |
| | 49 | |
| | 50 | % the following two queries implies that Ghostscript is available from the command-line: |
| | 51 | |
| | 52 | | ?- soduku::(problem(1, Rows), show([ff], Rows)). |
| | 53 | Rows = [[1, 5, 6, 8, 9, 4, 3, 2, 7], [9, 2, 8, 7, 3, 1, 4, 5, 6], [4, 7, 3, 2, 6, 5, 9, 1, 8], [3, 6, 2, 4, 1, 7, 8, 9, 5], [7, 8, 9, 3, 5, 2, 6, 4, 1], [5, 1, 4, 9, 8, 6, 2, 7, 3], [8, 3, 1, 5, 4, 9, 7, 6, 2], [6, 9, 7, 1, 2, 3, 5, 8, 4], [2, 4, 5, 6, 7, 8, 1, 3, 9]] . |
| | 54 | |
| | 55 | |
| | 56 | | ?- soduku::show([ff], Rows). |
| | 57 | Rows = [[1, 2, 3, 4, 5, 6, 7, 8, 9], [4, 5, 6, 7, 8, 9, 1, 2, 3], [7, 8, 9, 1, 2, 3, 4, 5, 6], [2, 3, 1, 6, 7, 4, 8, 9, 5], [8, 7, 5, 9, 1, 2, 3, 6, 4], [6, 9, 4, 5, 3, 8, 2, 1, 7], [3, 1, 7, 2, 6, 5, 9, 4, 8], [5, 4, 2, 8, 9, 7, 6, 3, 1], [9, 6, 8, 3, 4, 1, 5, 7, 2]] ; |
| | 58 | Rows = [[1, 2, 3, 4, 5, 6, 7, 8, 9], [4, 5, 6, 7, 8, 9, 1, 2, 3], [7, 8, 9, 1, 2, 3, 4, 5, 6], [2, 3, 1, 6, 7, 4, 8, 9, 5], [8, 7, 5, 9, 1, 2, 3, 6, 4], [6, 9, 4, 5, 3, 8, 2, 1, 7], [3, 1, 7, 2, 6, 5, 9, 4, 8], [5, 4, 8, 3, 9, 1, 6, 7, 2], [9, 6, 2, 8, 4, 7, 5, 3, 1]] ; |
| | 59 | Rows = [[1, 2, 3, 4, 5, 6, 7, 8, 9], [4, 5, 6, 7, 8, 9, 1, 2, 3], [7, 8, 9, 1, 2, 3, 4, 5, 6], [2, 3, 1, 6, 7, 4, 8, 9, 5], [8, 7, 5, 9, 1, 2, 3, 6, 4], [6, 9, 4, 5, 3, 8, 2, 1, 7], [3, 1, 7, 2, 6, 5, 9, 4, 8], [9, 6, 2, 8, 4, 7, 5, 3, 1], [5, 4, 8, 3, 9, 1, 6, 7, 2]] ; |
| | 60 | (etc) |
| | 61 | |
| | 62 | |
| | 63 | | ?- queens::n_queens(8, Qs), labeling([ff], Qs). |
| | 64 | Qs = [1, 5, 8, 6, 3, 7, 2, 4] ; |
| | 65 | Qs = [1, 6, 8, 3, 7, 4, 2, 5] ; |
| | 66 | Qs = [1, 7, 4, 6, 8, 2, 5, 3] ; |
| | 67 | (etc) |
| | 68 | |
| | 69 | |
| | 70 | % the following query implies that Ghostscript is available from the command-line: |
| | 71 | |
| | 72 | | ?- queens::show(8, [ff], Qs). |
| | 73 | Qs = [1, 5, 8, 6, 3, 7, 2, 4] ; |
| | 74 | Qs = [1, 6, 8, 3, 7, 4, 2, 5] ; |
| | 75 | Qs = [1, 7, 4, 6, 8, 2, 5, 3] ; |
| | 76 | (etc) |
| | 77 | |
| | 78 | |
| | 79 | | ?- queens::show(N, [ff], Qs). |
| | 80 | N = 1, |
| | 81 | Qs = [1] ; |
| | 82 | N = 4, |
| | 83 | Qs = [2, 4, 1, 3] ; |
| | 84 | N = 4, |
| | 85 | Qs = [3, 1, 4, 2] ; |
| | 86 | N = 5, |
| | 87 | Qs = [1, 3, 5, 2, 4] ; |
| | 88 | (etc) |