开发者社区> 问答> 正文

汉诺塔问题的递归算法流程图

RT

展开
收起
知与谁同 2018-07-22 17:51:10 5229 0
2 条回答
写回答
取消 提交回答
  • 关键是第一步移法,奇数层的说,3层在第一柱,后两根柱数数:123。所以,第一块应放在第二根柱,4层,第一块放第三柱。...........奇数层第一块放第二柱,偶数层第一块放第三柱。
    2019-07-17 22:55:38
    赞同 展开评论 打赏
  • Nothing for nothing.
    #include <stdio.h>
    void hano(int n,char a,char b,char c)
    {
    if(n==1)
    printf("\t将%d个盘片从%c移动到%c\n",n,a,c);
    else {
    hano(n-1,a,c,b);
    printf("\t将第%d个盘片从%c移动到%c\n",n,a,c);
    hano(n-1,b,a,c);
    }
    }
    main()
    {
    int n;
    printf("输入将要移动多少个盘子n:");
    scanf("%d",&n);
    printf("递归结果:\n");
    hano(n,'x','y','z');
    }
    2019-07-17 22:55:38
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载