minjun623   6년 전

일반적인 하노이 탑에서 n개의 원판을 옮기 려면 n-1개의 원판을 미리 옮겨 논 이후에 1개의 원판의 옮긴 이후 다시 n-1개의 원판을 옮기는 형식. 즉 P(n) = 2*P(n-1)+1 이라는 점화식을 만들 수 있습니다.

그렇다면 기둥이 4개인 하노이 탑에서는 P(n) = 2*P(n-2)+3 이라는 점화식이 만들어 지는것이 아닌가요?

즉, 1번기둥에서 4번 기둥으로 n개의 원판을 옮기기 위해 우선 1번 기둥에서 2번 기둥에 n-2개의 원판을 이동시킨 이후 남은 두개의 원판을 3번과 4번을 이용해 옮기면 3번의 이동이 필요 합니다. 그러므로 위의 점화식을 유추할 수 있다고 생각합니다.

문제에서 long long 으로 출력할 수있다고 해서 풀어 본 결과 굉장히 큰 수가 나오더군요.

아래는 파이썬으로 간단하게 짠 코드 입니다만, 

입력값이 1000일 경우  9820171823688425610039569090482797456649926138129194368449874104288401389214023664649810276977712471452660052382680213027651769637656179159985582768125라는 어마 무시한 숫자가 나오는데 어디가 문제 인지 알려 주시면 감사하겠습니다.

djm03178   6년 전

이 문제는 아직 정답이 증명되지 않은 문제라고 합니다. https://en.wikipedia.org/wiki/... 를 따라서 풀어야 하는 것 같습니다.

jcdoom   1년 전

기둥 3개인 일반적인 하노이탑 점화식 : P(n) = 2*P(n-1)+1

기둥 4개인 하노이탑 점화식

: 1 -> 1

  2 -> 3

  3이상일때는 홀수와 짝수를 구별합니다.

  : 홀수일때 P(n) = 4*P((n-1)/2)+1

    짝수일때 P(n) = 2*P((n-1)/2) + 2*P((n-1)/2 + 1) + 1

댓글을 작성하려면 로그인해야 합니다.