📄 nqueens.scm
字号:
;;; NQUEENS -- Compute number of solutions to 8-queens problem.(define trace? #f)(define (nqueens n) (define (dec-to n) (let loop ((i n) (l '())) (if (= i 0) l (loop (- i 1) (cons i l))))) (define (try x y z) (if (null? x) (if (null? y) (begin (if trace? (begin (write z) (newline))) 1) 0) (+ (if (ok? (car x) 1 z) (try (append (cdr x) y) '() (cons (car x) z)) 0) (try (cdr x) (cons (car x) y) z)))) (define (ok? row dist placed) (if (null? placed) #t (and (not (= (car placed) (+ row dist))) (not (= (car placed) (- row dist))) (ok? row (+ dist 1) (cdr placed))))) (try (dec-to n) '() '()))(time (do ((i 1000 (- 1 1))) ((zero? i)) (nqueens 10)))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -