~cpp 
#include<stdio.h>
int cnt = 0;
void movehanoi(char a, char b, char c, int n);
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);
}
}
//함수시작
int main(void)
{
       int n;
       printf("하노이 탑에서 옮기려는 원반의 수는?>");
       scanf("%d", &n);
       movehanoi('A', 'B', 'C', n);
       return 0;
}
//함수종료













