经典汉诺塔递归算法

/** * 经典汉诺塔递归算法 */
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
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞