Towers of Hanoi: Difference between revisions

Content added Content deleted
Line 844: Line 844:


=={{header|Clojure}}==
=={{header|Clojure}}==
===Side-Effecting Solution===
<lang lisp>(defn towers-of-hanoi [n from to via]
<lang lisp>(defn towers-of-hanoi [n from to via]
(when (pos? n)
(when (pos? n)
Line 849: Line 850:
(printf "Move from %s to %s\n" from to)
(printf "Move from %s to %s\n" from to)
(recur (dec n) via to from)))</lang>
(recur (dec n) via to from)))</lang>
===Lazy Solution===
<lang lisp>(defn towers-of-hanoi [n from to via]
(when (pos? n)
(lazy-cat (towers-of-hanoi (dec n) from via to)
(cons [from '-> to]
(towers-of-hanoi (dec n) via to from)))))</lang>


=={{header|COBOL}}==
=={{header|COBOL}}==