No older revisions available
No older revisions available
~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;
}
//함수종료