一、题目编号:
1010
二、简单题意:
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
1010
二、简单题意:
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
三、解题思路形成过程
由于每次只能向上跨一级或两级,所以要走到第i级有两种情况,从第i-1级跨一级上去或者第i-2级跨两级上去。所以走到第i级的方法等于走到第i-1级的方法加上走到第i-2级的方法。即v[i]=v[i-1]+v[i-2]。
由于每次只能向上跨一级或两级,所以要走到第i级有两种情况,从第i-1级跨一级上去或者第i-2级跨两级上去。所以走到第i级的方法等于走到第i-1级的方法加上走到第i-2级的方法。即v[i]=v[i-1]+v[i-2]。
四、感想
依旧是递推,很简单。
依旧是递推,很简单。
五、AC代码
#include<iostream>
using namespace std;
int main()
{
long long v[41];
v[2]=1;v[3]=2;
for(int i=4;i<41;i++)
{
v[i]=v[i-1]+v[i-2];
}
int n,m;
cin>>n;
while(n--)
{
cin>>m;
cout<<v[m]<<endl;
}
return 0;
}
using namespace std;
int main()
{
long long v[41];
v[2]=1;v[3]=2;
for(int i=4;i<41;i++)
{
v[i]=v[i-1]+v[i-2];
}
int n,m;
cin>>n;
while(n--)
{
cin>>m;
cout<<v[m]<<endl;
}
return 0;
}