这个题是一个非常明显的规律题,可以看出来当1的时候明显是0;2的时候是1,3的时候是2,4的时候是3,5的时候是5,所以看得出来后面的走法数为前面2个走法数的和。然后可以用数组来做了。
代码如下:
#include <stdio.h>
int main()
{
int a,b,n,i;
int m[60]={0,0,1,2,3,5};
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
{ scanf("%d",&a);
if(a>4)
{
for(b=5;b<=a;b++)
{
m[b]=m[b-2]+m[b-1];
}
printf("%d\n",m[a]);
}
else
printf("%d\n",m[a]);
}
}
return 0;
}