现在的位置: 首页 > 综合 > 正文

汉诺塔游戏

2012年06月08日 ⁄ 综合 ⁄ 共 427字 ⁄ 字号 评论关闭
#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 */
 }

}

抱歉!评论已关闭.