#include <stdio.h>
#ifdef _WIN32
	#include<Windows.h>
#endif

int cnt = 0; // 이동 횟수에 이용되는 전역변수
void moveHanoi (char a, char b, char c, int n);

void main()
{
	int n;
	printf("input Hanoi number (exit : 음수 ) : ");
	scanf("%d",&n);

	while(n>0)
	{
		moveHanoi('A','B','C',n);
		cnt = 0;
		printf("input Hanoi number (exit : 음수 ) : ");
		scanf("%d",&n);
	}
	system("PAUSE");
}

void moveHanoi(char from, char temp, char to, int n)
{
	if(n == 1)
	{
		++cnt;
		printf("%5d: 말뚝 %c에서 말뚝 %c로 원반 %d를 이동\n",cnt,from,to,1);
	}
	else
	{
		moveHanoi(from,to,temp,n-1);
		++cnt;
		printf("%5d: 말뚝 %c에서 말뚝 %c로 원반 %d를 이동\n",cnt,from,to,n);
		moveHanoi(temp,from,to,n-1);
	}
}