C
#include
void move(char a,char c)
{
printf("%c-->%c\n",a,c);
}
void hanota(int n,char a,char...b,char c)//这个函数就是把A上面的搬到C
{
if(n==1)//只有一块直接搬
move(a,c);
else//先想办法把最下面的那块搬到C上,再搬剩下的
{
hanota...(n-1,a,c,b);//先把最下面的上面全部移走,也就是搬到B
move(a,c);//然后把最下面那块搬到C
hanota(n-1,b,a,c);//再把B上面的搬到C
}
}
int...hanota(n,'A','B','C');
}
Python
def move(start,end):
print(start,'->',end)
def hanota(num,a,b,c...(num-1,a,c,b)#先把最下面的上面全部移走,也就是搬到B
move(a,c)#然后把最下面那块搬到C
hanota(num-1,b,a,c)#再把B上面的搬到C