首页 > 其他 > 详细

递归函数的经典例子(汉诺塔问题)

时间:2015-06-22 14:59:54      阅读:189      评论:0      收藏:0      [点我收藏+]
#include
void HN(int n,char a,char b,char c);
int main(int argc,char *argv[])
{
 int Dish_num;
 printf("Please Input the Dish num: ");
  scanf("%d",&Dish_num);
 while(Dish_num != 0){
  printf("%d个盘子的移动步骤如下:\n",Dish_num);
  HN(Dish_num,‘A‘,‘B‘,‘C‘);
  printf("Please Input the Dish num: ");
  scanf("%d",&Dish_num);
 }
 while(1);
 return 0;
}
void HN(int m,char a,char b,char c)
{
 if(m==1){
  printf("From %c to %c\n",a,c);
 }
 else{
  HN(m-1,a,c,b);
   printf("From %c to %c\n",a,c);
  HN(m-1,b,a,c);
 }
}

递归函数的经典例子(汉诺塔问题)

原文:http://blog.csdn.net/u014100559/article/details/46592971

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!