C#
C# 015 재귀함수를 이용한 하노이탑
hyun0229
2022. 3. 15. 21:47
재귀함수를 이용한 하노이탑 해결
using System;
namespace _015
{
class Program
{
static void Hanoi(int step, char A, char B,char C)
{
if (step==1)
{
Console.WriteLine("{0}→{1}", A, C); //A에서 C로 이동
}
else
{
Hanoi(step - 1, A, C, B);
Console.WriteLine("{0}→{1}", A, C);
Hanoi(step - 1, B, A, C);
} //하노이 단계가 늘어날떄마다
}
static void Main(string[] args)
{
Hanoi(4, 'a', 'b', 'c');
}
}
}
2개를 움직이기 위해서는
a→b 작은 걸 어시로 움기고
a→c 큰 걸 골로
b→c 다시 작은걸 골로 의 움직임
결과