using System;
namespace 汉诺塔算法
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("盘数为:{0}",10);
hanoi(3, 'A', 'B', 'C');
Console.ReadLine();
}
public static void hanoi(int n, char one, char two, char three) // 定义hanoi函数
// 将n个盘从one座借助two座,移到three座
{
if (n == 1)
move(one, three); //只有一个盘直接A->C
else
{
hanoi(n - 1, one, three,two);//将前n-1个盘移动到B座
move(one, three); //将第n个盘从A座移动到C座
hanoi(n - 1, two, one, three);//将前n-1个盘从B座借助A座,移到C座
}
}
public static void move(char x, char y) // 定义move函数
{
Console.WriteLine("{0}-->{1}",x,y);
}
}
}
汉诺塔算法
最新推荐文章于 2014-08-10 13:13:23 发布