《Hanoi 塔问题的小小改进》

来源:互联网 发布:千万别在淘宝搜血滴子 编辑:程序博客网 时间:2024/05/02 02:32
public class Hanoi {/** * @param args */public static void main(String[] args) {int num = 2;System.out.println("Problem\nHanoi: From \'a\' To \'b\' with \'c\'...\nAnswer");HanoiOne(num, 'a', 'b', 'c');System.out.println("Answer");HanoiTwo(num, 'a', 'b', 'c');}private static void HanoiTwo(int n, char a, char b, char c) {if (n > 0) {HanoiOne(n - 1, a, c, b);move(a, b);HanoiOne(n - 1, c, b, a);}}private static void HanoiOne(int n, char a, char b, char c) {if (n == 1) {move(a, b);} else {HanoiOne(n - 1, a, c, b);move(a, b);HanoiOne(n - 1, c, b, a);}}private static void move(char a, char b) {System.out.println(a + " --> " + b);}}/* *Console:ProblemHanoi: From 'a' To 'b' with 'c'...Answera --> ca --> bc --> bAnswera --> ca --> bc --> b*/

原创粉丝点击