参考文章:http://www.cnblogs.com/dmego/p/5965835.html
public static void hanoi(int n,char A,char B,char C) { if(n == 1)//圆盘只有一个时,只需将其从A塔移到C塔 TowersOfHanoi.move(1, A, C);//将编b号为1的圆盘从A移到C else {//否则 hanoi(n - 1, A, C, B);//递归,把A塔上编号1~n-1的圆盘移到B上,以C为辅助塔 TowersOfHanoi.move(n, A, C);//把A塔上编号为n的圆盘移到C上 hanoi(n - 1, B, A, C);//递归,把B塔上编号1~n-1的圆盘移到C上,以A为辅助塔 } }
定义一个汉诺塔函数
def hanoi(n, A, B, C): if n==1: print(A+‘->‘+C) else: hanoi(n-1, A, C, B) print(A+‘->‘+C) hanoi(n-1, B, A, C) hanoi(3, ‘A‘, ‘B‘, ‘C‘)
函数作为参数直接调用
原文:http://www.cnblogs.com/yizhenfeng/p/6930715.html