加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C/C++ 使用递归算法实现汉诺塔

发布时间:2020-12-16 07:47:30 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #include iostream using namespace std; int hannuota(int n,string a,string b,string c) { if(n==1) { //只有一个盘子的情况下直接将第一个塔上的

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

#include <iostream>  
using namespace std;  
int hannuota(int n,string a,string b,string c)  
{  
    if(n==1)  
    {  
        //只有一个盘子的情况下直接将第一个塔上的盘子移动到第三个塔  
        printf("塔%s------>塔%sn",a.c_str(),c.c_str());  
    }  
    else{  
        //1.先将第一个塔的n-1个盘子全部通过第三个塔移动到第二个塔上  
        hannuota(n-1,a,c,b);  
        //2.再将剩下的一个盘子移动到第三个塔上  
        printf("塔%s------>塔%sn",c.c_str());  
        //3.最后将第二个塔上的盘子通过第一个塔移动到第三个塔上  
        hannuota(n-1,b,c);  
    }  
    return 1;  
}  
int main(int argc,const char * argv[]) {  
    printf("请输入盘子的数量:n");  
    int n;  
    scanf("%d",&n);  
    printf("盘子移动如下:n");  
    hannuota(n,"A","B","C");  
    return 0;  
}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读