C++解决 数学典型问题 Hanoi(汉诺)塔问题。

[复制链接]
查看11 | 回复1 | 2018-4-6 18:07:46 | 显示全部楼层 |阅读模式
这是利用了递归的。将n个盘子分解成上边的n-1个和下边的1个。这样就可以看成是两个盘子,然后再把其余过程递归。那么对于这两个“盘子”来说,hanoi(n-1,one,three,two)是把上边的n-1个从one借助three移动到two;再把下边的最大的盘子从one移动到three;接着再把刚才的那堆“盘子”hanoi(n-1,two,one,three)从two借助one移动到three。这样就移动完了,对每个大堆“盘子”一递归就把具体过程做出来了。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行