//[2-5-1] 재귀호출을 사용하여 만든 하노이탑 문제 2014.5.10 김영찬 #include <stdio.h> int move(int from, int to) { printf("\nMove from %d to %d", from, to); } int hanoi(int n, int from, int by, int to) { if(n==1) { move(from, to) } else { hanoi(n-1, from, to, by); move(from, to); hanoi(n-1, by, from, to); } } int main(int) { int pan=0; //지역변수이므로 변수이름은 n이나 다른 이름으로 해도 상관없다. while(1) { printf("\n원판수:"); scanf("%d", &pan); if(pan<=0) { break; } hanoi(pan, 1, 2, 3); } return 0; }