programming-examples/c-sharp/Games_&_Threads/C# Program to Demonstrate Tower Of Hanoi.cs

57 lines
1.3 KiB
C#
Raw Normal View History

2019-11-15 12:59:38 +01:00
/*
* C# Program to Demonstrate Tower Of Hanoi
*/
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;
}
}
/*
Enter the Number of Disks : 2
Move Disk 1 from Tower 1 to Tower 2
Move Disk 1 from Tower 1 to Tower 3
Move Disk 1 from Tower 2 to Tower 3