[C언어,자료구조]하노이탑 실행순서 및 이동 횟수 (120층까지)
- 최초 등록일
- 2006.01.28
- 최종 저작일
- 2006.01
- 7페이지/ 압축파일
- 가격 1,000원
소개글
C언어로 구현한 하노이탑입니다. 하노이탑의 수를 1~120개까지 지정할수 있으며 A탑에서 C의 탑으로 이동되는 과정과 이동 횟수를 표시 되게 하였습니다. 많은 탑의 경우 고성능 컴퓨터라고 하더라도 이동되는 과정을 일일이 다 표시하기에는 무척 많은 시간이 걸리는 관계로 출력에 중간 생략이 되어있음을 알려드립니다.
해당 파일에는 하노이탑의 소스와 작성원리 및 방법에 대한 설명글도 함께 포함되어있습니다.
컴파일 실행환경
VC6.0 과 한글(3.0이상버젼)
본문내용
/* The tower of hanoi */
01: #include <stdio.h>
02:
03: #define MAX_LAYER 120
04:
05: int Input_hanoi();
06: void Show_hanoi(int n);
07: void hanoi(int n, char a, char b, char c, int* sum);
08:
09: void main(){
10: int n;
11: int temp;
12: int sum = 1;
13: char a = `A`, b = `B`, c = `C`;
14:
15: n = Input_hanoi();
///////////////////////////////////////////////////////////////////////
- 작성원리 및 방법 일부분 -
위의 그림은 3개의 원반일 때 hanoi()가 메모리에 만들어 지는 과정을 나타낸것이다. ①번 공간 부분을 보면 2개의 원반이 A의 탑에서 B로 옮기는 과정이고. ③번에서 가장 아래에 있는 원반을 C의 탑으로 보내고 ②번 공간에서는 B의 탑에 놓아 두었던 2개의 원반을 다시 C의 탑으로 마자 옮기는 과정이다.
압축파일 내 파일목록
hanoi.JPG
hanoi.cpp
The tower of hanoi.hwp
The tower of hanoi_97.hwp
참고 자료
없음