Algorithms
A004_hanoi
페프
2021. 9. 17. 22:34
하노이탑은 두 가지의 규칙이 있다.
1. 한 번에 하나의 원판만 옮길 수 있다.
2. 큰 원판이 작은 원판 위에 있어서는 안 된다.
이 두 가지의 규칙을 가지고 하노이탑 코드를 짜보았다.
※ 그래픽으로 표현하기 어렵기에 콘솔로 만들었다.
using System;
// hanoi tower - recursive function
namespace A004_hanoi
{
class Program
{
static void Main(string[] args)
{
Hanoi(100, 'A', 'C', 'B'); // A에서 B를 이용해 C로 간다
}
private static void Hanoi(int n, char from, char to, char by)
{
if(n==1)
Console.WriteLine("Move : {0} -> {1}", from, to);
else
{
Hanoi(n - 1, from, by, to);
Console.WriteLine("Move : {0} -> {1}", from, to);
Hanoi(n - 1, by, to, from);
}
}
}
}
다음은 실행화면이다.