题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2041
思路:每层楼的方法数就是前两层方法数的和。其实就是推斐波那契数列的方法。
code:
递推
#include <stdio.h>
int main()
{
int n,m,a[45],i;
a[2]=1;
a[3]=2;
scanf("%d",&n);
while(n--)
{
scanf("%d",&m);
for(i=4;i<=m;i++)
a[i]=a[i-1]+a[i-2];
printf("%d\n",a[m]);
}
return 0;
}
递归会超时