关于汉诺塔进阶衍生问题!
原来的汉诺塔问题,相信各位大侠都熟知不已,这里就不赘述了。小弟最近遇到的是一个进阶型的,就是把整个搬运的步骤图案给打印出来。,以3块为案例,开始效果图如图:
step1:
-|- | | \*默认每块砖是不同大小的,大在下,小在上,其中中间那根东西是针。。。*\
--|-- | |
---|--- | |
step2:
| | |
--|-- | |
---|--- -|- |
step3:
| | |
| | |
---|--- -|- --|--
......
\*就是这样打印,的图案。*\
顺便引用下汉诺塔问题的代码(原来那玩意,就是从哪个移到哪个,简单的步骤。)。
程序代码:#include <stdio.h>
int main (void)
{
int n;
void hanoi(int n,char a,char b, char c);
scanf("%d",&n);
hanoi(n,'a','b','c');
return 0;
}
void hanoi(int n,char a,char b, char c)
{
if(n==1){
printf("%c-->%c\n",a,b);
}
else {
hanoi(n-1,a,c,b);
printf("%c-->%c\n",a,b);
hanoi(n-1,c,b,a);
}
}








