3.跳台阶与变态跳台阶
题目内容:
跳台阶:
变态跳台阶:
代码及思路:
跳台阶的思路与前一题斐波那契数列求解的方法相同,再次不再赘述。代码可以参照斐波那契数列的求解代码。
对于变态跳台阶问题
#include<iostream>
using namespace std;
class solution
{
public:
int jumpFloorII(int n)
{
//与普通跳台阶不同的是它可以跳上n级,因此利用数学归纳法可以得到变态跳台阶问题
//n个台阶共有2^(n-1)种跳法。
if (n < 2)
return n;
int total = 1;
for (int i = 2; i <= n; i++)
{
total *= 2;
}
return total;
}
};
void main()
{
int num;
int result;
cin >> num;
solution* object = new solution();
result = object->jumpFloorII(num);
cout << result << endl;
}