Demo entry 6350477

1

   

Submitted by anonymous on Mar 11, 2017 at 03:40
Language: C. Code size: 1.0 kB.

#include <stdio.h>//printf등 함수를 사용하기 위해
#include <windows.h>//system등 윈도우api사용
// #define BLOCK 3 //처음에 define으로 하려했음.
void hanoi(int n, char one, char two, char three)//hanoi함수를 정의
{
	if (n == 1) printf("%d원판을 %c -> %c 이동\n", n, one, three); //n==1일때 A->C로 이동
	else {
		hanoi(n - 1, one, three, two);//n-1번째까지 A->B로 원판을 이동 재귀적이라 n이 계속 하나씩 줄어듦
		printf("%d원판을 %c -> %c 이동\n", n, one, three); //n-1이 C로 넘어가는 과정을 출력
		hanoi(n - 1, two, one, three);//B->C로 원판을 이동
	}
}

int main()//명령행 인자(argv를 사용하지 않으므로 void처리)
{
	int block = 5; //옮겨야할 원판이 몇개 인가
	char column[3] = { 'A','B','C' }; //block개수 + column[0]~[2]기둥 및 기둥이름

	system("mode con: lines=30"); //창 크기 설정
	printf("===========================================================\n");
	printf("==          CBNU 컴퓨터공학과 2012090062 김준석          ==\n"); //자기소개
	printf("==           하노이탑 one->three로 원판 옮기기           ==\n");
	printf("===========================================================\n");


	hanoi(block, column[0], column[1], column[2]); //hanoi함수 선언

	return 0;
}

This snippet took 0.00 seconds to highlight.

Back to the Entry List or Home.

Delete this entry (admin only).