6_4.C
上传用户:wyn840322
上传日期:2007-01-13
资源大小:294k
文件大小:1k
源码类别:

数据结构

开发平台:

C/C++

  1. /* ======================================== */
  2. /*    程式实例: 6_4.c                       */
  3. /*    河内塔问题                            */
  4. /* ======================================== */
  5. /* ---------------------------------------- */
  6. /*  河内塔问题的递归函数                    */
  7. /* ---------------------------------------- */
  8. int hanoi(int dishs,int peg1,int peg2,int peg3)
  9. {
  10.    if ( dishs == 1)               /* 终止条件       */
  11.       printf("盘子从 %d 移到 %dn",peg1,peg3);
  12.    else
  13.    {
  14.       hanoi(dishs - 1,peg1,peg3,peg2);  /* 第一步骤 */
  15.       printf("盘子从 %d 移到 %dn",peg1,peg3);
  16.       hanoi(dishs - 1,peg2,peg1,peg3);  /* 第三步骤 */
  17.    }
  18. }
  19. /* ---------------------------------------- */
  20. /*  主程式: 找出河内塔问题的解.             */
  21. /* ---------------------------------------- */
  22. void main()
  23. {
  24.    hanoi(3,1,2,3);                /* 调用递归函数   */
  25. }