1. 程式人生 > >河內之塔(C語言遞迴實現)

河內之塔(C語言遞迴實現)

#include <stdio.h>

#include <stdlib.h>

//河內之塔 遞迴實現

void hanoi(int n,char A,char B,char C);

int main(int argc, char *argv[])

{

    int n;

    printf("輸入盤數:");

    scanf("%d",&n);

    hanoi(n,'A','B','C');

    system("PAUSE");

    return 0;

}

void hanoi(int n,char A,char B,char C)

{

     if(n==1)

     {

         printf("Move sheet %d from %c to %c/n",n,A,C);

     }

     else

     {

         hanoi(n-1,A,C,B);

         printf("Move sheet %d from %c to %c/n",n,A,C);

         hanoi(n-1,B,A,C);

     }

}