predawn123 2021-12-10 10:30 采纳率: 100%
浏览 41
已结题

汉罗塔问题,递归,C语言,经典

img

  • 写回答

1条回答 默认 最新

  • -Undefined_ 2021-12-10 10:38
    关注
    #include<stdio.h>
    int step;
    void hanoi(int n,char a,char b,char c){
        if(n==1){
            step++;
            printf("[step %d] move plate %d# from %c to %c\n",step,1,a,c);
        }else{
            hanoi(n-1,a,c,b);
            step++;
            printf("[step %d] move plate %d# from %c to %c\n",step,n,a,c);
            hanoi(n-1,b,a,c);
        }
    }
    int main() {
        int n;
        scanf("%d",&n);
        hanoi(n,'a','b','c');
        printf("%d",step);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月18日
  • 已采纳回答 12月10日
  • 创建了问题 12月10日

悬赏问题

  • ¥30 vmware exsi重置后的密码
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面