汉诺塔问题的算法分析及C++实现
1.当仅有1个盘子时,把这个盘子从A塔柱移动到C塔柱上
2.当圆盘的个数多于1个时,如下解决:
(1) 先将A塔柱上的(n-1)个圆盘通过C塔柱移动到B塔柱上
(2) 再将A塔柱上的第n个圆盘直接移动到C塔柱上
(3) 最后B塔柱上的(n-1)个圆盘通过A塔柱移动到C塔柱上
该算法对应的代码如下:
void hanoi(int n,char a,char b,char c)
{
if(n==1){
cout
人气:273 ℃ 时间:2020-07-09 13:44:30
解答
hanoi函数的目的是解决汉诺塔的移动序列,它有4个参数:1.n表示要移动的盘子的个数2.一开始盘子在哪个柱子上,这个变量叫a,所以可以说,一开始在a柱子上4.最后盘子要移动到哪个柱子上,这个变量叫c,所以可以说,最后要移...
推荐
- 这两个句子中的if的解释~
- 谁给我简单讲下IF条件句
- 帮我找一句句子,还要它的意思和赏析
- 已知A=2x+4y—2,B=-2x+y+3,则3A—4B=?
- 沪宁高速公路约长270千米,一辆客车和一辆轿车先后从上海出发去南京,客车先行50千米后,轿车再出发,客车平均每小时行80千米,轿车平均每小时行100千米,轿车几小时后追上客车?
- 像什么弯弯像小船,月亮弯弯像小船类似的句子
- 七八个星天外,两三点雨山前.表达了作者咋样的情感?
- I haven't got eyes ears mouth and nose
猜你喜欢
- 问角平分线的定义在使用中,可以写作一个角是另一个角的形式,还,可以写作一个角是另一个角一半的形式,
- 那一次我懂得了——作文
- 求函数y=log1/2[cos(x/3+π/4)]的单调递增区间.【1/2为底数】
- 集合A={(x,y)/y=3x-2},B={(x,y)/y=x方}则A交B=?
- I won't have a whisky,thank you.It's not that I don't drink,_____that I don't drink and drive.
- 比较大小1/25( ) 0.05;1又7/8( )1.8
- 已知cosα2-sinα2=1−sinα,且α是第二象限角,则α2是第_象限角.
- 要搬10张桌子,老师搬一张,两个同学抬一张,有3个老师,还要几个同学一次搬完