Anonymous user
Towers of Hanoi: Difference between revisions
m
→{{header|Icon}}
(+Icon+Unicon) |
|||
Line 445:
procedure hanoi(n, needle1, needle2) #: solve towers of hanoi by moving n disks from needle 1 to needle2 via other
local other
/needle1 := 1 # 1 default▼
/needle2 := 2 # 2 default▼
▲n := integer(0 < n) | runerr(n,101) # 3 ensure integer (this also ensures it's positive too)
if n = 1 then
write("Move disk from ", needle1, " to ", needle2)
else {
other := 6 - needle1 - needle2 # clever but somewhat un-iconish way to find other
hanoi(n-1, needle1, other)
write("Move disk from ", needle1, " to ", needle2)
hanoi(n-1, other, needle2)
}
return
end</lang>
==={{header|Unicon}}===
This Icon solution works in Unicon.
|