diff options
Diffstat (limited to 'sudoku.scm')
-rw-r--r-- | sudoku.scm | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -92,7 +92,7 @@ board)) -(define (all-one-number board col row) +(define (exactly-one-number board col row) (exactly-one-true (map (lambda (value) @@ -100,18 +100,18 @@ (iota 9)))) -(let* ((board (make-board))) +(let ((board (make-board))) + + ;; Each position contains exactly one number + (do ((col 0 (1+ col))) ((= col 9)) + (do ((row 0 (1+ row))) ((= row 9)) + (exactly-one-number board col row))) ;; The standard Sudoku rules (all-unique-values board (rows)) (all-unique-values board (cols)) (all-unique-values board (boxes)) - ;; Each position contains exactly one number - (do ((col 0 (1+ col))) ((= col 9)) - (do ((row 0 (1+ row))) ((= row 9)) - (all-one-number board col row))) - ;; Initially specified values (set-initial-value board 0 0 4) (set-initial-value board 0 7 5) |