汉诺塔问题的算法分析及C++实现
题目
汉诺塔问题的算法分析及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
答案
hanoi函数的目的是解决汉诺塔的移动序列,它有4个参数:1.n表示要移动的盘子的个数2.一开始盘子在哪个柱子上,这个变量叫a,所以可以说,一开始在a柱子上4.最后盘子要移动到哪个柱子上,这个变量叫c,所以可以说,最后要移...
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
热门考点