其他分享
首页 > 其他分享> > 76、递归求汉诺塔

76、递归求汉诺塔

作者:互联网

 

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

标签:柱上,递归,圆盘,char,76,int,63,汉诺塔,移动
来源: https://www.cnblogs.com/cbxg135/p/15864465.html