/** * 经典汉诺塔递归算法 */
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');
}
}
经典汉诺塔递归算法
原文作者:递归算法
原文地址: https://blog.csdn.net/qq_21150865/article/details/56015974
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/qq_21150865/article/details/56015974
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。