学习递归循环
#includeusing 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
本文名称:学习递归循环
网页路径:http://scyingshan.cn/article/pgojsg.html