#include<cstdio>
int main()
{
int i,n,m;
//__int64 a[44]={0,1,1};
scanf("%d",&n);
while(n--)
{
__int64 a[44]={0,1,1};
scanf("%d",&m);
for(i=3;i<=m;i++) //i<m 不正确
{
a[i]=a[i-1]+a[i-2];
}
printf("%I64d\n",a[m]);
}
//while(1);
return 0;
}
注释处的问题在于i代表楼梯阶数,a[0]已经赋值了0.