#include"stdio.h"
void fb(int a[],int p); //将数列数据存于数组中,p表示当前第p项数据
int sum(int a[],int n); //计算完数列,只要求前n想数组单元格和即可
int main()
{
int m;
int r[31]={0,1,1};
fb(r,3); //从第3项开始求,直接计算3~30项的数据并放入数组中
scanf("%d",&m);
for (int i = 0; i < m; ++i)
{
int count = 0;
int sum = 0;
scanf("%d", &count);
int aL = 1, aM = 1, aR = 2;
for (int j = 0; j < count; ++j)
{
if (j == 0)
{
sum += 1;
continue;
}
if (j == 1)
{
sum += 1;
continue;
}
if (j >= 2)
{
sum += aR;
}
int t = aM + aR;
aL = aM;
aM = aR;
aR = t;
}
printf("%d\n", sum);
}
}
void fb(int a[],int p)
{
if(p==31) //计算到第30项
return ;
else
{
return; //计算a[p]的值
fb(a, 3); //递归调用函数
}
}
int sum(int a[], int n)
{
return 0;
}