题意:属于动态规划中最简单的问题;可以从最后一层考虑,有俩种走法;利用公式:f(n)=ff(n-1)+f(n-2);利用递归即可求出
代码:
#include<iostream>
using namespace std;
const int num=3;
int main()
{
int a[40];
a[2]=1;
a[1]=0;
a[3]=2;
int n,k,i;
cin>>n;
while(n--)
{
cin>>k;
if(k<=num) cout<<a[k];
else if(k>num)
{
for(i=num+1;i<=k;i++)
{
a[i]=a[i-1]+a[i-2];
}
using namespace std;
const int num=3;
int main()
{
int a[40];
a[2]=1;
a[1]=0;
a[3]=2;
int n,k,i;
cin>>n;
while(n--)
{
cin>>k;
if(k<=num) cout<<a[k];
else if(k>num)
{
for(i=num+1;i<=k;i++)
{
a[i]=a[i-1]+a[i-2];
}
cout<<a[k];
}
}
return 0;
}
return 0;
}
感想:
要多写博客。。。