using System.Text;
using static System.Console;
namespace Hanoi
{
internal class Program
{
private const int SCHEIBEN = 8;
private static int SCHRITT = 1;
private static readonly StringBuilder SB = new StringBuilder();
private static void Main(string[] args)
{
Hanoi(SCHEIBEN, 'A', 'B', 'C');
WriteLine(SB);
ReadLine();
}
private static void Hanoi(int scheibe, char start, char puffer, char ziel)
{
if (scheibe == 1)
{
Add(scheibe, start, ziel);
} else
{
Hanoi(scheibe - 1, start, ziel, puffer);
Add(scheibe, start, ziel);
Hanoi(scheibe - 1, puffer, start, ziel);
}
}
private static void Add(int scheibe, char start, char ziel) =>
SB.AppendLine($"Schritt #{SCHRITT++:d4} : Bewege Scheibe #{scheibe:d2} von {start} nach {ziel}.");
}
}
Comments