先将A上1——63个圆盘移动到B上 第64块圆盘移动到C上 再将B上1——63块圆盘移动到C上
先将A上前62块圆盘移动到C上 63块移动到B上 再从C上将前62块圆盘移动到B上
#include<stdio.h>
void f(char a,char b)
{
printf("从%c柱上往%c柱上挪动一个圆盘\n",a,b);
}
void g(int i,char a,char b,char c)
{
if(i==2)
{
f(a,b);
f(a,c);
f(b,c);
}
else if(i>2)
{
g(i-1,a,c,b);
f(a,c);
g(i-1,b,a,c);
}
}
int main(void)
{
g(3,'A','B','C');
return 0;
}