規則是將一底盤上的所有塔層,用最少的步驟移至另一底盤,來完成遊戲。每次只能移動一層塔,大塔無法壓在小塔上方。
#include<iostream >
#include<stdio.h >
#include<stdlib.h >
using namespace std;
int coun=1;
void hanoi(int i,char a,char b,char c)
{
if(i >0)
{
hanoi (i-1,a,c,b);
printf("%2d move %d from %c to %c\n",coun++,i,a,c);
hanoi (i-1,b,a,c);
}
}
int main(void)
{
int i;
char a='A',b='B',c='C';
printf("Please input how many disk(s):\t");
scanf("%d",&i);
hanoi (i,a,b,c);
system("PAUSE");
return 0;
}