Hanoi问题.都是基本的。
1
private
static
void
TestHanoi(
int
n,
string
X,
string
Y,
string
Z)
2![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
3
if (n <= 1)
4![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
5
Move(X, Z);
6
}
7
else
8![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
9
TestHanoi(n - 1, X, Z, Y); //把n-1个盘子从X移到Y上
10
Move(X, Z); //把X上最小的那个移到Z上
11
TestHanoi(n - 1, Y, X, Z); //把n-1个盘子从Y移动到Z上
12
}
13
}
14![](/Images/OutliningIndicators/None.gif)
15
private
static
void
Move(
string
X,
string
Z)
16![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
17
Console.WriteLine("move" + X + "to" + Z);
18
}
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
7
![](/Images/OutliningIndicators/InBlock.gif)
8
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
13
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)
16
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)