学习递归循环

 #include <iostream>
 




    using namespace std;
 
/*
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
*/
 
//0 1 2 3
//f(n) = (最后一次跳一级台阶有多少种方法) + (最后一次跳两级台阶有多少种方法)
//即:
//f(n) = f(n - 1) + f(n - 2)
class Solution 
{
public:
 int jumpFloor(int number) 
 {
  if (number <= 1)
  {
   return number;
  }
  int first = 1;
  int second = 1;
  while (--number)
  {
   int tmp = second;
   second += first;
   first = tmp;
  }
  return second;
 }
};

     
int main()
{
 Solution s1;
 for (int i = 0; i < 10; i++)
 {
  cout << s1.jumpFloor(i) << endl;
 }
 return 0;
}
//https://github.com/HonestFox/BrushQuestion

 以4个台阶为例子 

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的奇台网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

那么有(1,1,1,1)(1,2,1)(1,1,2)(2,1,1)(2,2)5种 走法

main()测试中给出了 10阶内的走发分别有多少种

循环中

first   second         tmp

 1           1               

 1            2              1

 2            3              2

 3           (5 )           3

 

 

            

 

分享文章:学习递归循环
分享链接:https://www.cdcxhl.com/article36/pgojsg.html

成都网站建设公司_创新互联,为您提供定制网站网站内链网站收录标签优化小程序开发全网营销推广

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营