码迷,mamicode.com
首页 > 其他好文 > 详细

递归__汉诺塔

时间:2014-05-24 03:00:06      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:class   blog   c   ext   http   a   

要将n个盘子从a 通过b 移动到c
那么 就要先将 n-1个盘子从a通过c 移动到b
再将a最底下的盘子移动到 c
之后再将 n-1个盘子从b通过a移动到c
由此可得到 递归公式

hanoi(int n,char from,char denpend_on,char to):
{
//n:盘子数from:a,denpend_on:b,to:c
//此语句意义为 将n个盘子从from 通过 denpend_on移动到to

hanoi(n-1,from,to,denpend_on);
move(n,from,to);
hanoi(n-1,denpend_on,from,to);
//当n=1时递归结束,将1个盘子从from 通过denpend_on移动到to
}



变种http://www.cnblogs.com/nanke/archive/2011/09/08/2171165.html
变种http://blog.csdn.net/xujinsmile/article/details/8091738

递归__汉诺塔,布布扣,bubuko.com

递归__汉诺塔

标签:class   blog   c   ext   http   a   

原文地址:http://www.cnblogs.com/wwjyt/p/3736827.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!