美文网首页
递归算法:梵塔问题

递归算法:梵塔问题

作者: 疋瓞 | 来源:发表于2021-12-21 09:14 被阅读0次

1、环境配置:

  • 系统:win10
  • 编程语言:C++
  • 编译器:DevC++

2、算法思想:

简化步骤,将问题看成是把n个铁片中的n-1个通过c从a移动到b,剩下的第n个移动从a移动到c,然后再把n-1个通过a从b移动到c,分成三步即可。

3、代码:

/*
梵塔问题 
*/
#include<iostream>

using namespace std;

void f(char x,char y,char z,int n);//n为最底层汉诺塔铁片的编号,编号越小铁片越小越靠上! 

int main(){
    char x = 'a';
    char y = 'b';
    char z = 'c'; 
    int h = 3; //汉诺塔深度 
    f(x,y,z,h);
    return 0;
} 

void f(char x,char y,char z,int n)//把n层hannio塔从x通过y移动到z; 
{
    if(n!= 0){
        f(x,z,y,n-1);
        cout<<n<<"通过"<<x<<"移动到"<<z<<endl;
        f(y,x,z,n-1); 
    } 
}

4、结果展示:

结果2.png

5、反思总结:

递归就是自己调用自己。

相关文章

  • 递归算法:梵塔问题

    1、环境配置: 系统:win10 编程语言:C++ 编译器:DevC++ 2、算法思想: 简化步骤,将问题看成是把...

  • 汉诺塔递归

    学习汉诺塔递归算法

  • 递归之汉诺塔问题

    我的博客:递归之汉诺塔问题 一.起源: 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的...

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

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

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

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

  • 算法2:递归算法与二分查找

    3.递归算法3.1斐波那契数列(递归)3.2汉诺塔3.3八皇后问题4.⼆分查找递归实现 4.1二分递归查找: 3....

  • C语言-汉诺(Hanoi)塔问题-递归实现

    问题描述:汉诺(Hanoi)塔问题-递归实现 源代码: 运行结果: 程序算法: 程序参数: 输出大小: 149.3...

  • Python实现汉诺塔递归算法

    汉诺塔算法 要想利用递归函数解决问题,一定要完成两个基本的要素:递归的终止条件,递推公式。为了分析得到递归函数,下...

  • 算法学习

    算法学习 递归 调用自身终止条件 汉诺塔问题 python实现: def hanoi(n, a, b, c):if...

  • 矩阵链乘法

    递归算法: 迭代算法: 分析 递归算法:规模为n的问题,有n个递归,每个递归又有相应矩阵个数个递归,故T(n)=T...

网友评论

      本文标题:递归算法:梵塔问题

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