wizen-coder
10/4/2018 - 9:42 AM

这个问题大家都比较熟悉。这里直接给出程序清单。

这个问题大家都比较熟悉。这里直接给出程序清单。

//2-6 Hanoi问题
#include "stdafx.h"
#include <iostream>
using namespace std;

void hanoi(int n,char a,char b,char c);

int main()
{
    char a = 'A',b = 'B',c='C';
    hanoi(3,a,b,c);
    return 0;
}

//借助c,将n个盘子从a移到b
void hanoi(int n,char a,char b,char c)
{
    if(n>0)
    {
        hanoi(n-1,a,c,b);//借助b,将n-1个盘子从a移到c
        cout<<"将"<<a<<"中最大的盘子从"<<a<<"移到"<<b<<endl;
        hanoi(n-1,c,b,a);//借助a,将n-1个盘子从c移到b
    }
}