#include <stdio.h>
#include <string.h>
void move(int n,char i,char j)
{
printf("move number %d from %c to %c \n",n,i,j);
}
void hannoi(int n,char a,char b,char c)
{
if(n == 1)
{
move(1,a,c);
}
else
{
hannoi(n-1,a,c,b);
move(n,a,c);
hannoi(n-1,b,a,c);
}
}
int main(void)
{
int n;
printf("input the hannoi's layer:\n");
scanf("%d",&n);
printf("n layer hannoi:\n");
hannoi(n,'a','b','c');
return 0;
}
汉诺塔问题的递归求解
最新推荐文章于 2024-02-03 13:24:44 发布