하노이 타워 코드
#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;
}
'컴퓨터 프로그래밍 공부 > 자료구조와 알고리즘' 카테고리의 다른 글
리스트 List(배열 기반) (0) | 2024.02.06 |
---|---|
트리 순회 (0) | 2024.02.06 |
열혈 자료구조 - 재귀적 호출의 이해 (1) | 2024.01.29 |
열혈 자료구조 - 알고리즘 성능 분석 (0) | 2024.01.29 |
해시 테이블과 블룸 필터 (2) - 해시 테이블에서 충돌 체이닝 (0) | 2024.01.09 |