Towers of Hanoi: Difference between revisions

Added Kotlin
m (→‎JS ES5: (layout))
(Added Kotlin)
Line 1,946:
1 2 1 3 1 2 1 4 1 2 1 3 1 2 1</lang>
 
=={{header|Kotlin}}==
<lang scala>// version 1.1.0
 
class Hanoi(private val disks: Int) {
private var moves = 0
 
init {
println("Towers of Hanoi with $disks disks:\n")
move(disks, 'L', 'C', 'R')
println("\nCompleted in $moves moves\n")
}
 
private fun move(n: Int, from: Char, to: Char, via: Char) {
if (n > 0) {
move(n - 1, from, via, to)
moves++
println("Move disk $n from $from to $to")
move(n - 1, via, to, from)
}
}
}
 
fun main(args: Array<String>) {
Hanoi(3)
Hanoi(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|Lasso}}==
9,488

edits