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);
}
}
Java 实现 Fibonacci 数列,Hanoi 塔问题
猜你喜欢
转载自blog.csdn.net/qq_43901693/article/details/105240924
今日推荐
周排行