컴퓨터 프로그래밍 공부/자료구조와 알고리즘

열혈 자료구조 - 재귀의 활용 하노이 타워 코드 및 실행

뽀또치즈맛 2024. 1. 29. 13:34

하노이 타워 코드

 

#include <stdio.h>

void HanoiTowerMove(int num, char from, char by, char to)
{
	if (num == 1)		// 이동할 원반의 수가 1개라면
	{
		printf("원반1을 %c에서 %c로 이동 \n", from, to);
	}
	else
	{
		HanoiTowerMove(num - 1, from, to, by);
		printf("원반%d을(를) %c에서 %c로 이동 \n", num, from, to);
		HanoiTowerMove(num - 1, by, from, to);
	}
}


int main(void)
{

	// 막대 A의 원반 3개를 막대 B를 경유하여 막대 C로 옮기기
	HanoiTowerMove(3, 'A', 'B', 'C');

	return 0;
}