zoukankan      html  css  js  c++  java
  • 双色汉诺塔 算法 (递归)

    #include<stdio.h>

    //将n个盘子A->C借助B

    void move(int n,char a,char b,char c)

    {

             if(n==1)

             {

                       printf("%c->%c\n",a,c);

                       printf("%c->%c\n",a,c);

             }

             else

             {

                       move(n-1,a,c,b);

                       printf("%c->%c\n",a,c);

                       printf("%c->%c\n",a,c);

                       move(n-1,b,a,c);

             }

    }

    //根据颜色移动

    void ColorTwoMove(int n,char a,char b,char c)

    {

             int i=n/2;                                       //分两组,因为只是颜色不同,一次移动两个。     

             for(;i>1;i--)                                    //下面主要是把两个颜色不一样,大小一样的分开放在两个柱子上。

             {

                       move(i-1,a,c,b);                 //将2*(i-1)个A->B借助C

                       move(1,a,b,c);                   //将A上剩下的两个移动到C上

                       move(i-1,b,c,a);                 //将B上的2*(i-1)个 B->A借助C

                       printf("%c->%c\n",c,b); //C上面现在是两个颜色不一样大小一样的盘子,将其中的1个C->B

                                                                              

             }                                                               

                                                                               //下面是最上面的两个的两个大小一样,颜色不一的最小的盘子

             printf("%c->%c\n",a,c);            //将第一个移动到C上

             printf("%c->%c\n",a,b);            //将第二个移动到B上

            

    }

    int main(){

             int n;

             printf("请输入盘数:");

             scanf("%d",&n);

             char a='A';

             char b='B';

             char c='C';

             ColorTwoMove(n,a,b,c);

             //      move(n,a,b,c);

             return 0;

    }

  • 相关阅读:
    hello word
    HDU 1006 Tick and Tick
    HDU 1005 Number Sequence
    HDU 1004 Let the Balloon Rise
    HDU 1003 Max Sum
    HDU 1002 A + B Problem II
    HDU 1001 Sum Problem
    HDU 1000 A + B Problem
    POJ 2253 Frogger
    POJ 2387 Til the Cows Come Home
  • 原文地址:https://www.cnblogs.com/lobsterIT/p/2706268.html
Copyright © 2011-2022 走看看