Java 实现 Fibonacci 数列,Hanoi 塔问题

public class Test {
    public static int i;

    public static void main(String[] args) {
        System.out.println("======= Fibonacci数列 =======");
        System.out.println(fibonacci(9));

        System.out.println("======= Hanoi塔问题 =======");
        int n = 4;
        hanoi(n, 'A', 'B', 'C');
        System.out.printf("移动 %d 个盘子,总共需要 %d 步", n, Test.i);
    }

    public static int fibonacci(int n) {
        return n <= 1 ? 1 : (fibonacci(n - 1) + fibonacci(n - 2));
    }

    public static void hanoi(int n, char a, char b, char c) {
        if (n > 0) {
            hanoi(n - 1, a, c, b);
            move(a, b);
            hanoi(n - 1, c, b, a);
        }
    }

    public static void move(char start, char end) {
        i += 1;
        System.out.println(start + " ---> " + end);
    }
}

在这里插入图片描述


在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页