Marconi25 2017-09-26 12:26 采纳率: 100%
浏览 953
已采纳

求问下面c++算法怎么理解?

假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?

int climbStairs(int n) {
int a = 1, b = 1;
while (n--)
{b=b+a;
a=b-a;//主要是这两句怎么理解?
}
return a;
}

谢谢

  • 写回答

2条回答

  • wanwan_1996 2017-09-27 03:12
    关注

    这不就是fn = f(n - 1) + f(n -2) 的形式吗?
    找规律就行啦,你多写几层的结果就会发现规律。
    硬要说是算法的话,可以往dp上靠一靠

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退