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;

    }

  • 相关阅读:
    Photoshop 图文并茂常用快捷键
    程序员放松的8个好网站推荐
    Ehcache详细解读
    IT人士必去的10个网站
    [javascript]避免悲剧 密码生成器
    jQuery创建实例与原型继承揭秘
    [javascript]快速交换javascript变量的值
    [javascript]web216安全色拾色器colorpicker 支持浏览器边缘碰撞翻转(原生js)
    [Javascript]单例模式(singleton )
    duffsDevice 高速版
  • 原文地址:https://www.cnblogs.com/lobsterIT/p/2706268.html
Copyright © 2011-2022 走看看