您的位置:首页 > 其它

Hanoi汉诺塔问题

2016-01-25 22:24 225 查看
古代有一个Hanoi塔,塔内有三个座a, b, c, 开始a 座上有n 个盘子,大的在下,小的在上。要求把n 个盘子从a 座搬到c 座,每次只能搬一个,并且在搬的过程中可以利用b 座,但要求始终保持大盘子在下,小盘子在上。编程打印搬盘子的步骤。

void hanoi(int n, char a, char b, char c)
{
if(n == 1)
{
cout<<a<<"->"<<c<<endl;
}
else
{
hanoi(n - 1, a, c, b);
hanoi(1, a, b, c);
hanoi(n - 1, b, a, c);
}
}

int main()
{
int n = 3;
hanoi(n, 'a', 'b', 'c');
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: