美文网首页
递归应用-汉罗塔问题精讲

递归应用-汉罗塔问题精讲

作者: 始于尘埃 | 来源:发表于2019-07-27 16:37 被阅读0次

有三根杆子A,B,C。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆: 每次只能移动一个圆盘; 大盘不能叠在小盘上面。 提示:可将圆盘临时置于B杆,也可将从A杆移出的圆盘重新移回A杆,但都必须遵循上述两条规则。

问:如何移?最少要移动多少次?

#include <iostream>
using namespace std;

int i = 1;
void Hanoi(int n,char A,char B,char C){
    if(n == 1){
        cout<<"Move"<<n<<"from "<<A<<"to"<<B<<"\n";
    }
    else{
        Hanoi(n-1,A,C,B); //把n-1从A移动到C
        cout<<"Move"<<n<<"from "<<A<<"to"<<B<<"\n";//最后把n移动到B
        Hanoi(n-1,C,B,A);//把n-1从C移动到B 
    }
} 

int main(){
    Hanoi(5,'A','B','C');
    return 0;
}

相关文章

  • 递归应用-汉罗塔问题精讲

    有三根杆子A,B,C。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:...

  • 汉诺塔问题的求解与分析

    一、递归算法介绍 这篇文章讲的是一个古老而又经典的汉诺塔问题,他是递归算法的一个很好的应用实例。有关递归函数的介绍...

  • Python 汉诺塔的实现

    汉诺塔的实现,是一个典型的递归问题,当然越是复杂的递归问题越是考验人的抽象思维; 哈哈哈,言归正传,汉诺塔问题如下...

  • 数据结构与算法-递归分治-汉诺塔思想

    折半查找算法的递归实现 思想:减少查找序列的长度,分而治之地进行关键字的查找 汉诺塔问题 汉诺塔是我们递归思想,分...

  • 数据结构算法之递归和栈结构

    递归 程序调用自身的编程技巧称为递归简单案例:n的阶乘 汉诺塔 汉诺塔问题描述:3个柱为a、b、c,圆盘最初在a柱...

  • 递归——汉诺塔问题

    我参考了两位大佬的代码,其中一位是日本的专业程序员。比较有意思的是他出的面向要考试的群体的那本书讲了这个,后来大概...

  • 算法分析与设计

    递归汉诺塔问题: https://blog.csdn.net/xb2355404/article/details/...

  • 算法学习 - Python(持续更新)

    二分查找法 - 递归实现 约瑟夫环问题 汉诺塔问题(递归) 旋转列表(Python):列表原地修改,参考Leetc...

  • python求解汉罗塔问题

    汉罗塔问题规则:1.每次移动一个盘子2.任何时候大盘子在下面,小盘子在上面递归算法:

  • 汉诺塔递归

    学习汉诺塔递归算法

网友评论

      本文标题:递归应用-汉罗塔问题精讲

      本文链接:https://www.haomeiwen.com/subject/ofperctx.html