/**
* 经典汉诺塔递归算法
*/
package Suanfa;
import java.util.Scanner;
/**
* @author 16026
*
*/
public class Hanoi {
public void hanoi(int n, char x, char y, char z) {
if (n == 1) {
System.out.println(x + "->" + z);
} else if (n > 1) {
hanoi(n - 1, x, z, y); //当n>1时,继续调用本方法
System.out.println(x + "->" + z);
hanoi(n - 1, y, x, z);
} else {
System.out.println("输入数据不合法。");
}
}
public static void main(String[] args) {
Hanoi ha = new Hanoi();
System.out.println("请输入碟子数量:");
ha.hanoi(new Scanner(System.in).nextInt(), 'x', 'y', 'z');
}
}
经典汉诺塔递归算法
最新推荐文章于 2023-07-19 11:49:30 发布