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 塔問題
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.