zoukankan      html  css  js  c++  java
  • C++基础算法学习——汉洛塔问题

    汉诺塔问题
    古代有一个梵塔,塔内有三个座A、B、C,A座上有64个盘子,盘子大小
    不等,大的在下,小的在上(如图)。有一个和尚想把这64个盘子从A座移
    到C座,但每次只能允许移动一个盘子,并且在移动过程中,3个座上的盘子
    始终保持大盘在下,小盘在上。在移动过程中可以利用B座,要求输出移动
    的步骤 。

    代码如下:

    #include <iostream>
    
    using namespace std;
    void Hanota(int n,char a,char b,char c)
    {
        if(n==1)
        {
            cout<<a<<"-->"<<c<<endl;
            return;
        }
        Hanota(n-1,a,c,b);
        Hanota(1,a,b,c);
        Hanota(n-1,b,a,c);
    }
    int main()
    {
        int n;
        cout<<"请输入n的值:";
        cin>>n;
        Hanota(n,'a','b','c');
        return 0;
    }
  • 相关阅读:
    Vue常见问题总结
    vue学习记录
    内卷
    at least once 和 at most once 问题
    IO学习笔记(全)
    IO学习笔记7
    IO学习笔记6
    IO学习笔记5
    IO学习笔记4
    IO学习笔记3
  • 原文地址:https://www.cnblogs.com/JsonZhangAA/p/7272670.html
Copyright © 2011-2022 走看看