This C# Program uses recursive function & solves the tower of hanoi. The tower of hanoi is a mathematical puzzle. It consists of threerods, and a number of disks of different sizes which can slideonto any rod. The puzzle starts with the disks in a neat stack in ascending order of size on one rod, the smallest at the top. We have to obtain the same stack on the third rod..

Here is source code of the C# Program to Demonstrate Tower Of Hanoi. The C# program is successfully compiled and executed with Microsoft Visual Studio. The program output is also shown below.

`/*`

`* 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;

`}`

`}`

Here is the output of the C# Program:

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

**Sanfoundry Global Education & Learning Series – 1000 C# Programs.**

If you wish to look at all C# Programming examples, go to 1000 C# Programs.