C++ 汉塔问题
C++汉塔问题。有64个盘子,要求用动画的形式演示盘的移动结果,,急急急,高手帮忙搞定!!先谢谢了。。。是用动画表示结果...
C++ 汉塔问题 。有64个盘子 ,要求用动画的形式演示盘的移动结果,,急急急 ,高手 帮忙 搞定!!先谢谢了 。。。
是用 动画 表示 结果 展开
是用 动画 表示 结果 展开
展开全部
64个片子不可能。就咱们这机子运算速度估计一天也运行不玩。不信,你把下面的7变成64试一下。
#include <stdio.h>
//递归汉诺塔程序
//参数定义:n为移动的盘子数,from指开始所在盘,tmp为中间盘,to为目标盘
void haoii(int n,int from,int tmp,int to)
{
if (n==0) return;
//将n-1个盘子以目标盘为中介,从开始盘递到中间盘
haoii(n-1,from,to,tmp);
/*将最后一个盘子移到目标盘*/
printf("Move %d from %d to %d\n",n,from,to);
//将中间盘上的n-1个盘子移到目标盘
haoii(n-1,tmp,from,to);
}
main()
{
haoii(7,1,2,3);
getchar();
return 0;
}
#include <stdio.h>
//递归汉诺塔程序
//参数定义:n为移动的盘子数,from指开始所在盘,tmp为中间盘,to为目标盘
void haoii(int n,int from,int tmp,int to)
{
if (n==0) return;
//将n-1个盘子以目标盘为中介,从开始盘递到中间盘
haoii(n-1,from,to,tmp);
/*将最后一个盘子移到目标盘*/
printf("Move %d from %d to %d\n",n,from,to);
//将中间盘上的n-1个盘子移到目标盘
haoii(n-1,tmp,from,to);
}
main()
{
haoii(7,1,2,3);
getchar();
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询