Wieże hanoi - tylko ruchy zgodne z ruchami wskazówek zegara

0

Witam wszystkich, mam do zrobienia zadanie na 1 rok studiów. Klasyka - wieże Hanoi. Z tym że dopuszczalne są tylko przeniesienia krążków zgodne z ruchami wskazówek zegara - tzn. z wieży 1 na 2 , 2 na 3 i 3 na 1.

using System;
class TowerOfHanoi
{
    int m_numdiscs;
    public TowerOfHanoi()
    {
        numdiscs = 0;
    }
    public TowerOfHanoi(int newval)
    {
        numdiscs = newval;
    }
    public int numdiscs
    {
        get
        {
            return m_numdiscs;
        }
        set
        {
            if (value > 0)
                m_numdiscs = value;
        }
     }
     public void movetower(int n, int from, int to, int other)
     {
         if (n > 0)
         {
             movetower(n - 1, from, other, to);
             Console.WriteLine("Move disk {0} from tower {1} to tower {2}", n, from, to);
             movetower(n - 1, other, to, from);
         }
     }
}
class TowersOfHanoiApp
{
    public static int Main()
    {
        TowerOfHanoi T = new TowerOfHanoi();
        string cnumdiscs;
        Console.Write("Enter the number of discs: ");
        cnumdiscs = Console.ReadLine();
        T.numdiscs = Convert.ToInt32(cnumdiscs);
        T.movetower(T.numdiscs, 1, 3, 2);
        Console.ReadLine();
        return 0;
    }
}

Z góry dziękuję za wszelkie wskazówki i pozdrawiam.

0

Jak brzmi pytanie?

Plus: po co studiujesz, skoro - najwyraźniej - wolisz kopiować cudzy kod i nie wykazywać żadnej inicjatywy?

1 użytkowników online, w tym zalogowanych: 0, gości: 1