|
책에서 재귀 호출에 관한 예문을 보았습니다.
팩토리얼 문제에서 재귀호출이 뭔지는 알았으나 제가 궁금한건
팩토리얼이 아닌 "하노이 탑" 이라는 것입니다.
책에서 설명을 해놓았으나 제가 머리가 나빠서인지 잘 이해가 안가
는군요.
꼭 알고 싶습니다.
꼭좀 하노이탑이 뭔지 어떻게 푸는건지 꼭좀 가르쳐 주세요.
그럼
#include <iostream.h>
void eedong(int eseu, int ggaji, int maesu)
{
int nameuji;
if (maesu==1)
cout << eseu << " 에서 " <<
ggaji << "(으)로 1매 이동한다. \n";
else {
nameuji=6-eseu-ggaji;
eedong(eseu,nameuji,maesu-1);
eedong(eseu,ggaji,1);
eedong(nameuji,ggaji,maesu-1);
}
}
void main()
{
int n;
cout << "매수 n=";
cin >> n;
eedong(1,3,n);
}
|