使用遞歸的方式實(shí)現(xiàn)漢諾塔
//n 代表幾階,x晓殊、y断凶、z代表上個(gè)塔
fun hanio(n: Int, x: String, y: String, z: String) {
if (n == 1) {
move(x, n, z)
} else {
hanio(n - 1, x, z, y)
move(x, n, z)
hanio(n - 1, y, x, z)
}
}
fun move(x: String, n: Int, y: String) {
println("move $n from $x to $y")
}