汉诺塔游戏
#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 */
}
}
#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 */
}
}