C & Docker & LINUX

C언어 - 하노이탑

로픽 2016. 6. 10. 13:49
300x250

C언어 - 하노이탑


하노이 탑은 19세기말 유럽에서 유행되어 온 문제라고 합니다.


세 개의 막대가 서 있으며, 한 쪽에는 디스크가 크기순으로 쌓여있다. 이 한쪽 막대에 있는 디스크 모두를 그대로 다른 막대에 옮기는 문제입니다.




실제 문제는 64개인데 여기서는 디스크를 N개로 입력 받아 수행합니다. (64개 하나씩 움직임을 출력하면 프로그램이 안 끝납니다)



하노이탑



크기가 작은 디스크는 항상 큰 디스크 위에 있어야하는 규칙때문에 여러방향으로 디스크를 옮겨야합니다.


하노이탑은 재귀함수입니다. 


자신이 자신을 참조하는 구조를 가지고 있습니다.

반응형