汉诺塔游戏

#include <stdio.h>
#include 
<conio.h>
void hanoi(int,int,int,int);
void main()
{
 
int n;
 clrscr();
 printf(
"Input n:");
 scanf(
"%d",&n);
 hanoi(n,
1,2,3);
}


void hanoi(int n,int a,int b,int c)
{
 
if (n==1)
   printf(
"%d-%d",a,c);       /* n=1时,直接将金片从a移动到c */
 
else
 
{
   hanoi(n
-1,a,c,b);           /* n-1个金片从a经过c移动到b */
   printf(
"  %d-%d  ",a,c);       /* 将第n个金片从a移动到c */
   hanoi(n
-1,b,a,c);           /* 将n-1个金片从b经过a移动到c */
 }

}
posted @ 2007-01-14 14:37  齐心  Views(359)  Comments(0Edit  收藏  举报