Need Programming Assignment Help?

Get Help with Programming Assignment in Java, C/C++, Dot Net, PHP, Database and UML Diagrams

Algorithm to Solve The Hanoi Towers

Algorithm to Solve The Hanoi Towers

The Tower of Hanoi puzzle was invented by the French mathematician Edouard Lucas in 1883. Algorithm solving the Hanoi Towers – This is a very basic Artificial Intelligence example of how the computer can solve such problems.

 

using System;
namespace AI
{
	class Hanoi
	{
		[STAThread]
		static void solveTowers(int count, char source, char dest, char spare)
		{
			if (count == 1)
				Console.WriteLine("Move top disk from pole {0} to pole {1}", source, dest);
			else
			{
				solveTowers(count-1, source, spare, dest);
				solveTowers(1, source, dest, spare);
				solveTowers(count-1, spare, dest, source);
			}
		} //ends solveTowers
		static void Main(string[] args)
		{
			int myCount;
			char mySource, myDest, mySpare;
			Console.Write("Enter number of rings: ");
			myCount = Convert.ToInt16(Console.ReadLine());
			Console.Write("Enter letter of peg to put rings on: ");
			mySource = Convert.ToChar(Console.ReadLine());
			Console.Write("Enter letter of peg to move rings to: ");
			myDest = Convert.ToChar(Console.ReadLine());
			Console.Write("Enter letter of spare peg: ");
			mySpare = Convert.ToChar(Console.ReadLine());
			solveTowers(myCount, mySource, myDest, mySpare);
			Console.ReadLine();
		}
	} 
}