Towers of Hanoi: Difference between revisions

Added Wren
(Add APL)
(Added Wren)
Line 5,685:
End Sub
End Module</lang>
 
=={{header|Wren}}==
{{trans|Kotlin}}
<lang ecmascript>class Hanoi {
construct new(disks) {
_moves = 0
System.print("Towers of Hanoi with %(disks) disks:\n")
move(disks, "L", "C", "R")
System.print("\nCompleted in %(_moves) moves\n")
}
 
move(n, from, to, via) {
if (n > 0) {
move(n - 1, from, via, to)
_moves = _moves + 1
System.print("Move disk %(n) from %(from) to %(to)")
move(n - 1, via, to, from)
}
}
}
 
Hanoi.new(3)
Hanoi.new(4)</lang>
 
{{out}}
<pre>
Towers of Hanoi with 3 disks:
 
Move disk 1 from L to C
Move disk 2 from L to R
Move disk 1 from C to R
Move disk 3 from L to C
Move disk 1 from R to L
Move disk 2 from R to C
Move disk 1 from L to C
 
Completed in 7 moves
 
Towers of Hanoi with 4 disks:
 
Move disk 1 from L to R
Move disk 2 from L to C
Move disk 1 from R to C
Move disk 3 from L to R
Move disk 1 from C to L
Move disk 2 from C to R
Move disk 1 from L to R
Move disk 4 from L to C
Move disk 1 from R to C
Move disk 2 from R to L
Move disk 1 from C to L
Move disk 3 from R to C
Move disk 1 from L to R
Move disk 2 from L to C
Move disk 1 from R to C
 
Completed in 15 moves
</pre>
 
=={{header|XPL0}}==
9,492

edits