#include <stdio.h>
void hanoi_tower(int n, char a, char b, char c)
{
if( n==1 )
printf("%c -> %c\n",a,c);
else {
hanoi_tower(n-1, a, c, b);
printf("%c -> %c\n",a, c);
hanoi_tower(n-1, b, a, c);
}
}
void main() {
int x;
scanf("%d",&x);
hanoi_tower(x, '1', '2', '3');
}
하노이 탑을 구현한것입니다...
흠~!! 그냥 대충 보셔도 아시겠죠??? 간단하게 하노이탑은
a b c 가 있으면 갯수에 따라서 a --->> c로 가는 것입니다.
일종에 b는 임시버퍼라고 생각을 하시면 쉬울꺼 같네요~~~
그럼 1인경우는 할께 없으니깐... 그냥 바로 끝내면 되겠죠? ㅋㅋ
2부터가 생각을 하셔야 하는데요.. 머~~ 위에 소스에서 처럼 계속 재귀호출을 하면서
넘어가는 매걔변수값을 살짝 살짝 다르게 하는게 포인트입니다...^^
실제로 돌려보시면 하나하나 다 보이게 구현을 해놨으니 한번 돌려보시면 문제가 없을 듯
하네요~