• 代码运行39台阶问题


    查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧!

        <1>题问:小明要上楼,楼一共39台阶,他先迈左脚,最后一步迈右脚,左右脚交替上台阶,每一步可能上1个或者2个台阶,求他上完39个台阶一共有多少种走法?

        <2>代码:

        #include<iostream>
    using namespace std;
    int count = 0;
    int choice[] =  {1,2};
    int c[100];
    void dfs(int taijieshu,int step)
    {
     if(taijieshu <= 0)
     {
     /* if(taijieshu==0 && step%2==0)   //+1 -1不一样嘛?
      {
                for(int i = 0;i < step;i++)   //打印详细的上楼序顺
       {
        cout<<c[i];
       }
       cout<<endl;*/
       count++;
      }
      return;
     }
     for(int i = 0;i <= 1;i++)
     {
           taijieshu -= choice[i];
        c[step] = choice[i];
        dfs(taijieshu,step+1);
        c[step] = 0;
        taijieshu += choice[i];
     }
    }

        每日一道理
    春蚕死去了,但留下了华贵丝绸;蝴蝶死去了,但留下了漂亮的衣裳;画眉飞去了,但留下了美妙的歌声;花朵凋谢了,但留下了缕缕幽香;蜡烛燃尽了,但留下一片光明;雷雨过去了,但留下了七彩霓虹。

        void main()
    {
     dfs(39,0);
     cout<<count<<endl;
    }

        <3>运行结果截图:

        代码和运行

    文章结束给大家分享下程序员的一些笑话语录: 姿势要丰富,经常上百度!

  • 相关阅读:
    servlet
    grep命令
    sort排序命令
    shell脚本面试
    查看远端的端口是否通畅3个简单实用案例!
    mail命令
    linux系统优化的方法
    shell数组
    shell函数介绍语法说明及基本例子
    循环结构的多个控制命令对比与实际案例
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3065687.html
Copyright © 2020-2023  润新知