27.跳台阶问题
题目:一个台阶总共有n 级,如果一次可以跳1 级,也可以跳2 级。
题目:一个台阶总共有n 级,如果一次可以跳1 级,也可以跳2 级。
求总共有多少总跳法,并分析算法的时间复杂度。
由题分析得出这是FIibonaqi的变形,有关递归与递推的区别,查看数据结构面试NO.19题
#include<iostream>
#include<assert.h>
using namespace std;
int Recurrence(int num)
{
assert(num!=0);
int count=0;
int i;
int first = 1;
int sed = 2;
if(num==1 || num==2 )
{
return num;
}
for(i=3;i<=num;i++)
{
count = first + sed;
first = sed ;
sed = count;
}
return count;
}
int main()
{
int num;
num=Recurrence(5);
cout<<"the total number of functions is:"<<num<<endl;
return 1;
}