(define hanoi (lambda (n source-peg dest-peg) (if (= n 0) '() (append (append (hanoi (- n 1) source-peg (other-peg source-peg dest-peg)) (list (cons source-peg dest-peg))) (hanoi (- n 1) (other-peg source-peg dest-peg) dest-peg))))) (define other-peg (lambda (peg-1 peg-2) (- (- 6 peg-1) peg-2))) (define other-peg (lambda (peg-1 peg-2) (if (= peg-1 1) (if (= peg-2 2) 3 2) (if (= peg-2 1) 3 1))))