首页 > 其他 > 详细

9、剑指offer--变态跳台阶

时间:2017-05-09 10:42:22      阅读:284      评论:0      收藏:0      [点我收藏+]
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
 
解题思路:可知本题f(n)=f(1)+f(2)+...+f(n-1)+1;通过数学归纳法得到f(n)=2^(n-1)
 1 #include <iostream>
 2 using namespace std;
 3 class Solution {
 4 public:
 5     //fn=2^(n-1)
 6     int jumpFloorII(int number) {
 7         if(number <= 0)
 8             return 0;
 9         //fibN = 2^(n-1);
10         else if(number == 1)
11             return 1;
12         else
13             return 2*jumpFloorII(number-1);
14  
15     }
16 };
17 int main()
18 {
19     int n;
20     while(cin>>n)
21     {
22         Solution s;
23         cout<<""<<n<<"级台阶需要步数:"<<s.jumpFloorII(n)<<endl;
24     }
25     return 0;
26 }

程序运行结果截图:

技术分享

 

9、剑指offer--变态跳台阶

原文:http://www.cnblogs.com/qqky/p/6829263.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!