proof1 2022-09-16 16:17 采纳率: 100%
浏览 26
已结题

汉诺塔问题 代码分析 C++

盲盒,非粘贴。

请分析一下我这个思路,做出更正。


// 汉诺塔  
#include <iostream>
#include <cstring>
using namespace std; 

void move(int s , char a , char b , char c){
    if (s==1) return;
    cout<<a<<"--"<<b<<endl;
    move(s-1,a,c,b);
    cout<<a<<"--"<<c<<endl;
           
}
 
int main(){
    int n=4;

        move(n,'a','b','c');  // 4层盘,从a杆开始,以b杆为中介,移动到c杆  
        
    return 0;
}

正纠结:是用两个打印输出,还是用两个调用?

  • 写回答

3条回答 默认 最新

  • 梦里逆天 2022-09-16 16:48
    关注
    // 汉诺塔  
    #include <iostream>
    #include <cstring>
    using namespace std;
    
    void move(int s , char a , char b , char c)
    {
        if (s==1)
        {
            cout<<a<<"--"<<c<<endl;
        }
        else
        {
            move(s-1, a, c, b);    // 借助c移动到b 
            cout<<a<<"--"<<c<<endl;
            move(s-1, b, a, c);     // 借助a移动到c
        }  
    }
     
    int main(){
        int n=4;
         move(n,'a','b','c');  // 4层盘,从a杆开始,以b杆为中介,移动到c杆  
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月27日
  • 已采纳回答 9月19日
  • 创建了问题 9月16日

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题