Towers of Hanoi: Difference between revisions

Content added Content deleted
(→‎{{header|AppleScript}}: minor changes to type signature, primitives. Hanoi function moved to top.)
(Added FreeBASIC)
Line 1,374: Line 1,374:


END PROGRAM TOWER</lang>
END PROGRAM TOWER</lang>

=={{header|FreeBASIC}}==
<lang freebasic>' FB 1.05.0 Win64

Sub move(n As Integer, from As Integer, to_ As Integer, via As Integer)
If n > 0 Then
move(n - 1, from, via, to_)
Print "Move disk"; n; " from pole"; from; " to pole"; to_
move(n - 1, via, to_, from)
End If
End Sub

Print "Three disks" : Print
move 3, 1, 2, 3
Print
Print "Four disks" : Print
move 4, 1, 2, 3
Print "Press any key to quit"
Sleep</lang>

{{out}}
<pre>
Three disks

Move disk 1 from pole 1 to pole 2
Move disk 2 from pole 1 to pole 3
Move disk 1 from pole 2 to pole 3
Move disk 3 from pole 1 to pole 2
Move disk 1 from pole 3 to pole 1
Move disk 2 from pole 3 to pole 2
Move disk 1 from pole 1 to pole 2

Four disks

Move disk 1 from pole 1 to pole 3
Move disk 2 from pole 1 to pole 2
Move disk 1 from pole 3 to pole 2
Move disk 3 from pole 1 to pole 3
Move disk 1 from pole 2 to pole 1
Move disk 2 from pole 2 to pole 3
Move disk 1 from pole 1 to pole 3
Move disk 4 from pole 1 to pole 2
Move disk 1 from pole 3 to pole 2
Move disk 2 from pole 3 to pole 1
Move disk 1 from pole 2 to pole 1
Move disk 3 from pole 3 to pole 2
Move disk 1 from pole 1 to pole 3
Move disk 2 from pole 1 to pole 2
Move disk 1 from pole 3 to pole 2
</pre>


=={{header|GAP}}==
=={{header|GAP}}==