游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2160|回复: 4

递归hanoi塔球解。。。。

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2008-3-17 23:48:00 | 显示全部楼层 |阅读模式
#include <iostream>
using namespace std;
int c;
void print(char x, int n, char y)
{
    cout<<"第"<<n<<"个盘子"<<"从"<<x<<"移动到"<< y<< endl;
}

void move(int n, char A, char B, char C)
{
    if (n == 1)
        print(A, 1, C);
    else
   {
        move(n - 1, A, C, B);
        print(A, n, C);
                move(n - 1, B, A, C);
    }

}

void main()
{
    int n;
    cout << "几个盘子: " ;
    cin >> n;
    move(n, 'A', 'B', 'C');
}


求解。。。。。。递归怎样运算的。。。。。N的值怎么减的。。。。。;
求高手。。。。3Q3Q3Q3Q

0

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
QQ
发表于 2008-3-18 22:25:00 | 显示全部楼层

Re:递归hanoi塔球解。。。。

没明白LZ想问的是什么问题?

0

主题

22

帖子

43

积分

注册会员

Rank: 2

积分
43
发表于 2008-3-19 01:24:00 | 显示全部楼层

Re:递归hanoi塔球解。。。。

  move(n - 1, A, C, B); // 把n-1个塔从A借助C移到B上;
  print(A, n, C);       // 然后打印出“第n个盘子从A移到C”
  move(n - 1, B, A, C); // 再把那n-1个塔从B借助A移到C上,完成!

4

主题

77

帖子

81

积分

注册会员

Rank: 2

积分
81
发表于 2008-3-19 08:18:00 | 显示全部楼层

Re:递归hanoi塔球解。。。。

.....

4

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2008-3-19 16:15:00 | 显示全部楼层

Re: Re:递归hanoi塔球解。。。。

dick853816: Re:递归hanoi塔球解。。。。

没明白LZ想问的是什么问题?

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

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-20 11:09

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表