C语言解决汉诺塔问题
2018-07-20 来源:open-open
C语言解决汉诺塔问题
#include "stdio.h"
void hanoi(int n,char one ,char two,char three);
void move(char aa,char bb);
int main()
{
int n;
printf("汉诺塔问题,将盘子从a,借助于b移动到c.\n");
printf("请输入盘子数:");
scanf("%d",&n);
printf("移动顺序为:\n");
hanoi(n,'a','b','c');
return 0;
}
//将n个盘子从one借助于two移动到three
void hanoi(int n,char one ,char two,char three)
{
if(n==1)
{
move(one,three);
}
else
{
hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}
}
//从a移动到b
void move(char a,char b)
{
printf("%c--->%c\n",a,b);
}
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
下一篇:css实现一款漂亮的查询框
最新资讯
热门推荐