; tower of hanoi
(define (move ring from to)
(display "Move ring ")
(display ring)
(display " from tower ")
(display from)
(display " to tower ")
(display to)
(newline))
(define (hanoi ring from to helper)
(cond ((= ring 1) (move ring from to))
(else (hanoi (- ring 1) from helper to)
(move ring from to)
(hanoi (- ring 1) helper to from))))
(hanoi 5 'A 'B 'C)