/**
* 汉诺塔递归:每次只能移动一个长方形,并且大的长方形不能在小的长方形之上
* 算法:递归
* 第一步:
* 把n-1个模块 从塔1移动到塔2
* 把第n个模块 从塔1移动到塔3
* 第二步:
* 把n-1个模块 从塔2移动到塔3
*/
import java.util.Scanner;
public class Hanoi {
public static int count;
public static void main(String[] arg) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
hanoi(n, "A塔", "B塔", "C塔");
System.out.println("总共:"+count+"步骤");
}
public static void hanoi(int n, String a, String b, String c) {
if (n == 1) {
System.out.println(a + "--->" + c);
}else {
hanoi(n - 1, a, c, b);
System.out.println(a + "--->" + c);
hanoi(n - 1, b, a, c);
}
count++;
}
}