使用递归的方式实现汉诺塔
//n 代表几阶,x、y、z代表上个塔
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")
}
网友评论