76、递归求汉诺塔

76、递归求汉诺塔

 

先将A上1——63个圆盘移动到B上 第64块圆盘移动到C上 再将B上1——63块圆盘移动到C上

 

76、递归求汉诺塔

 

 先将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;
}

上一篇:JavaScript 学习总结——JavaScript 的编译原理


下一篇:动态代理invocationHandler详解