> 其他 >
汉诺塔问题的算法分析及C++实现
1.当仅有1个盘子时,把这个盘子从A塔柱移动到C塔柱上
2.当圆盘的个数多于1个时,如下解决:
(1) 先将A塔柱上的(n-1)个圆盘通过C塔柱移动到B塔柱上
(2) 再将A塔柱上的第n个圆盘直接移动到C塔柱上
(3) 最后B塔柱上的(n-1)个圆盘通过A塔柱移动到C塔柱上
该算法对应的代码如下:
void hanoi(int n,char a,char b,char c)
{
if(n==1){
cout
人气:273 ℃ 时间:2020-07-09 13:44:30
解答
hanoi函数的目的是解决汉诺塔的移动序列,它有4个参数:1.n表示要移动的盘子的个数2.一开始盘子在哪个柱子上,这个变量叫a,所以可以说,一开始在a柱子上4.最后盘子要移动到哪个柱子上,这个变量叫c,所以可以说,最后要移...
推荐
猜你喜欢
© 2026 79432.Com All Rights Reserved.
电脑版|手机版