#include<stdio.h>
int main()
{
int s[45];
int m,n;
int i;
s[1]=0;
s[2]=1;
s[3]=2;
for(i=4;i<=40;i++)
s[i]=s[i-1]+s[i-2];
scanf("%d",&m);
while(m--){
scanf("%d",&n);
printf("%d\n",s[n]);
}
return 0;
}
\\有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?(1<=m<=40)
解题思路:
1递推题罗。f(1)=0,f(2)=1,f(3)=2;
2当要走向n级的时候,有两种情况:(1)先走向(n-1)级,有f(n-1)种情况,再一次走一级,只有一种选择;
(2)先走向(n-2)级,有f(n-2)种情况,再一次走二级,只有一种选择;
所以f(n)=f(n-1)+f(n-2); n>=4
HDU2041楼梯找规律水题
最新推荐文章于 2020-03-29 12:24:17 发布