- 将问题分而治之
public class Hannota {
public static void main(String[] args) {
Hannota hannota = new Hannota();
hannota.hannota(8, "A", "B", "C");
System.out.println("共计移动" + hannota.count);
}
int count = 0;
private void hannota(int num, String a, String b, String c) {
if (num == 1) {
System.out.printf("第【1】个-%s--->%s\n", a, c);
} else {
hannota(num - 1, a, c, b);
System.out.printf("第【%d】个-%s--->%s\n", num, a, c);
hannota(num - 1, b, a, c);
}
count++;
}
}
网友评论