1. 程式人生 > >漢諾塔再思考

漢諾塔再思考

把漢諾塔想象成兩個盤子,上面為n-1個,下面為第n個,那麼就知道前n-1和第n個的遞迴關係了。 

#include<iostream>
#include<cstdio>
using namespace std;
void hanoi(int n,char a,char b,char c){
    if(n>0){
        hanoi(n-1,a,c,b);
        printf("Move dish from pile %c to %c\n",a,c);
        hanoi(n-1,b,a,c);
    }
}
int main(){
   int n;
   scanf("%d",&n);
   hanoi(n,'A','B','C');
return 0;
}