zoukankan      html  css  js  c++  java
  • 郝斌--数据结构---汉诺塔实现(c语言实现)

     1 #include <stdio.h>
     2 
     3 void hannuota(int n,char A,char B,char C)//表示A借助于B移到C 
     4 {
     5     /*
     6         如果是1个盘子
     7             直接将柱子上的盘子从A移到C
     8         否则
     9             先将A柱子上的n-1个盘子从C移到B
    10             直接将A柱子上的盘子从A移到C
    11             最后将B柱子上的n-1个盘子借助A移到C 
    12     */
    13     if(1 == n)
    14     {
    15         printf("将编号为%d的盘子直接从%c柱子移到%c柱子
    ",n,A,C);
    16     }    
    17     else
    18     {
    19         hannuota(n-1, A, C, B);
    20         printf("将编号为%d的盘子直接从%c柱子移到%c柱子
    ",n,A,C);
    21         hannuota(n-1, B, A, C);
    22     } 
    23 }
    24 
    25 int main(void)
    26 {
    27     char ch1 = 'A';
    28     char ch2 = 'B';
    29     char ch3 = 'C';
    30     int n; 
    31     
    32     printf("请输入要移动的个数: ");
    33     scanf("%d", &n);
    34     
    35     hannuota(n,'A','B','C');
    36     
    37     return 0;
    38 }

     运行示例

  • 相关阅读:
    tensor张量
    Image Stride(内存图像行跨度)
    Batch Normalization
    论文阅读
    codeforces 520B
    codeforces 467B
    C语言位运算
    codeforces 474D
    codeforces 545c
    codeforces 698A
  • 原文地址:https://www.cnblogs.com/huangtao1996/p/4954373.html
Copyright © 2011-2022 走看看