C语言实现代码
#include<stdio.h>
void Hanoi(char a,char b,char c,int n) //定义函数设置from:a ,temp:b ,to:c
{
if(n==1)
{
printf("%c->%c\n",a,c); //printf()函数传入变量a,c
}
else
{
Hanoi(a,c,b,n-1); //移动上层的n-1个碟子从a柱子移到b柱子,c为交换柱子
printf("%c->%c\n",a,c); //移动最底层的一个碟子
Hanoi(b,a,c,n-1);
}
}
void main()
{
int a;
printf("input a number:");
scanf("%d",&a);
Hanoi('A','B','C',a);
}
函数Hanoi()功能将n个碟子从a移到c,b为交换的柱子。c也可以为交换柱子,可以指定from
temp
to